package banco.DAO; import java.util.List; import javax.persistence.Query; import banco.connection.EclipseLinkConnection; import banco.modelo.ProdutoServico; import banco.utils.ProdutoServicoUtils; public class ProdutoServicoDAO extends EclipseLinkConnection implements ProdutoServicoUtils{ @Override public void saveOrUpdate(ProdutoServico modelo) { if(modelo.getId() != null) merge(modelo); else persist(modelo); } @Override public void delete(ProdutoServico modelo) { remove(modelo); } @Override public ProdutoServico find(Long id) { Query q = getEntityManager().createQuery("select p from ProdutoServico p where p.id = :id"); q.setParameter("id", id); return (ProdutoServico)q.getSingleResult(); } @SuppressWarnings("unchecked") @Override public List<ProdutoServico> findAll() { Query q = getEntityManager().createQuery("select p from ProdutoServico p"); return q.getResultList(); } @SuppressWarnings("unchecked") @Override public List<ProdutoServico> findAllByTipoAndStatus(String tipo, Boolean status) { Query q = getEntityManager().createQuery("select p from ProdutoServico p where p.tipo like :tipo and (p.ativo = cast(:status as boolean) or :status is null)"); q.setParameter("tipo", tipo) .setParameter("status", status); return q.getResultList(); } }