Java tutorial
/*** Copyright (c) 2010-2014 Hrcules S. S. Jos Este arquivo parte do programa CATU. CATU 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 implicita 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 HSlife no endereco www.hslife.com.br 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 CATU e seus autores acesse o endereo www.hslife.com.br, pelo e-mail contato@hslife.com.br ou 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.catu.dao; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.hibernate.Criteria; import org.hibernate.criterion.Restrictions; import br.com.hslife.catu.db.HibernateUtil; import br.com.hslife.catu.model.Atendimento; import br.com.hslife.catu.model.Cliente; import br.com.hslife.catu.model.HistoricoAtendimento; import br.com.hslife.catu.model.Status; import br.com.hslife.catu.model.Tipo; public class AtendimentoDao extends GenericDao implements InterfaceDao<Atendimento> { public static final int STATUS = 1; public static final int TIPO = 2; public static final int CLIENTE = 3; @Override public void salvar(Atendimento obj) { save(obj); } @Override public void alterar(Atendimento obj) { update(obj); } @Override public void excluir(Atendimento obj) { delete(obj); } public void salvarHistorico(HistoricoAtendimento obj) { save(obj); } @Override public Atendimento buscar(long id) { return (Atendimento) find(Atendimento.class, id); } @Override public Atendimento buscar(String campo, Object valor) { return (Atendimento) find(Atendimento.class, campo, valor); } @Override public List<Atendimento> listar(String campo, Object valor) { return (List) findAll(Atendimento.class, campo, valor); } @Override public List<Atendimento> listarTodos() { return (List) findAll(Atendimento.class); } @Override public List<Atendimento> procurar(String campo, Object valor) { return (List) search("Atendimento", campo, (String) valor); } @SuppressWarnings("rawtypes") public List listarTodos(int item) { List lista = null; switch (item) { case STATUS: lista = findAll(Status.class); break; case TIPO: lista = findAll(Tipo.class); break; case CLIENTE: lista = findAll(Cliente.class); break; } return lista; } public List listarTodos(String valor) { List lista = null; String sqlQuery = "select * from Atendimento where id = " + valor; lista = query(Atendimento.class, sqlQuery); return lista; } public List listarTodos(Date valor) { List lista = null; String sqlQuery = "select * from Atendimento where dataAbertura >= '" + (valor.getYear() + 1900) + "-" + (valor.getMonth() + 1) + "-" + valor.getDate() + "'"; lista = query(Atendimento.class, sqlQuery); return lista; } public List listarTodos(Date valor, long status) { List lista = null; String sqlQuery = "select * from Atendimento where dataAbertura >= '" + (valor.getYear() + 1900) + "-" + (valor.getMonth() + 1) + "-" + valor.getDate() + "' and idStatus = " + status; lista = query(Atendimento.class, sqlQuery); return lista; } public List listarTodos(long valor) { List lista = null; String sqlQuery = "select * from Atendimento where idStatus = " + valor; lista = query(Atendimento.class, sqlQuery); return lista; } @SuppressWarnings("unchecked") public List<Atendimento> listaTodosPorCodigoDataAberturaEStatus(Long codAtend, Date dataAbertura, Status status) { List<Atendimento> resultado = new ArrayList<Atendimento>(); try { Criteria criteria = HibernateUtil.getSession().createCriteria(Atendimento.class); if (codAtend != null) { criteria.add(Restrictions.eq("id", codAtend)); } if (dataAbertura != null) { criteria.add(Restrictions.ge("dataAbertura", dataAbertura)); } if (status != null) { criteria.add(Restrictions.eq("idStatus.id", status.getId())); } resultado = criteria.list(); } catch (Exception e) { errorMessage = e.getMessage(); stackTrace = e.getStackTrace().toString(); e.printStackTrace(); } return resultado; } }