Java tutorial
/*** Copyright (c) 2012 - 2020 Hrcules S. S. Jos Este arquivo parte do programa Oramento Domstico. Oramento Domstico um software livre; voc pode redistribui-lo e/ou modific-lo dentro dos termos da Licena Pblica Geral Menor GNU como publicada pela Fundao do Software Livre (FSF); na verso 2.1 da Licena. Este programa distribudo na esperana que possa ser til, mas SEM NENHUMA GARANTIA; sem uma garantia implcita de ADEQUAO a qualquer MERCADO ou APLICAO EM PARTICULAR. Veja a Licena Pblica Geral Menor GNU em portugus para maiores detalhes. Voc deve ter recebido uma cpia da Licena Pblica Geral Menor GNU sob o nome de "LICENSE.TXT" junto com este programa, se no, acesse o site do projeto no endereco https://github.com/herculeshssj/orcamento ou escreva para a Fundao do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Para mais informaes sobre o programa Oramento Domstico e seu autor entre em contato pelo e-mail herculeshssj@outlook.com, ou ainda escreva para Hrcules S. S. Jos, Av. Ministro Lafaeyte de Andrade, 1683 - Bl. 3 Apt 404, Marco II - Nova Iguau, RJ, Brasil. ***/ package br.com.hslife.orcamento.repository; import java.util.List; import org.hibernate.Criteria; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Order; import org.springframework.stereotype.Repository; import br.com.hslife.orcamento.entity.Logs; import br.com.hslife.orcamento.model.CriterioLog; @Repository public class LogRepository extends AbstractRepository { @SuppressWarnings("unchecked") public List<Logs> findByCriteriosLog(CriterioLog criterioBusca) { Criteria criteria = getSession().createCriteria(Logs.class); for (Criterion criterion : criterioBusca.buildCriteria()) { criteria.add(criterion); } return criteria.addOrder(Order.desc("logDate")).list(); } public Logs findByID(Long id) { return (Logs) getQuery("FROM Logs log WHERE log.id = :idLog").setLong("idLog", id).uniqueResult(); } @SuppressWarnings("unchecked") public List<String> findAllLevel() { return getQuery("SELECT DISTINCT log.logLevel FROM Logs log").list(); } @SuppressWarnings("unchecked") public List<String> findAllLogger() { return getQuery("SELECT DISTINCT log.logger FROM Logs log").list(); } public void delete(Logs entity) { getSession().delete(entity); } public void update(Logs entity) { getSession().update(entity); } public Logs findMostRecentException() { return (Logs) getQuery( "FROM Logs log WHERE log.logLevel = 'ERROR' AND log.sendToAdmin = false ORDER BY log.logDate DESC") .setMaxResults(1).uniqueResult(); } }