package br.gov.mj.sislegis.app.service.ejbs; import java.util.List; import java.util.Objects; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Root; import br.gov.mj.sislegis.app.model.ElaboracaoNormativaCoAutores; import br.gov.mj.sislegis.app.model.ElaboracaoNormativaCoAutoresPK; import br.gov.mj.sislegis.app.service.AbstractPersistence; import br.gov.mj.sislegis.app.service.ElaboracaoNormativaCoAutoresService; @Stateless public class ElaboracaoNormativaCoAutoresServiceEjb extends AbstractPersistence<ElaboracaoNormativaCoAutores, Long> implements ElaboracaoNormativaCoAutoresService{ @PersistenceContext private EntityManager em; public ElaboracaoNormativaCoAutoresServiceEjb(){ super(ElaboracaoNormativaCoAutores.class); } @Override protected EntityManager getEntityManager() { // TODO Auto-generated method stub return em; } @Override public void deleteElaboracaoNormativaCoAutoresServiceEjb(ElaboracaoNormativaCoAutoresPK elaboracaoNormativaCoAutoresPK) { getEntityManager().createNativeQuery("delete from ElaboracaoNormativaCoAutores " + "where elaboracaoNormativa_id = :idElaboracaoNormativa " + "and orgao_id = :idOrgao", ElaboracaoNormativaCoAutores.class) .setParameter("idElaboracaoNormativa", elaboracaoNormativaCoAutoresPK.getIdElaboracaoNormativa()) .setParameter("idOrgao", elaboracaoNormativaCoAutoresPK.getIdOrgao()) .executeUpdate(); } public ElaboracaoNormativaCoAutores pesquisaPorElaboracaoNormativaById(Long idElaboracaoNormativa, Long idOrgao){ Object obj = getEntityManager().createNativeQuery("select * from ElaboracaoNormativaCoAutores " + "where elaboracaoNormativa_id = :idElaboracaoNormativa " + "and orgao_id = :idOrgao", ElaboracaoNormativaCoAutores.class) .setParameter("idElaboracaoNormativa", idElaboracaoNormativa) .setParameter("idOrgao", idOrgao) .getSingleResult(); return Objects.isNull(obj)?null:(ElaboracaoNormativaCoAutores)obj; } public List<ElaboracaoNormativaCoAutores> pesquisaPorElaboracaoNormativa(Long idElaboracaoNormativa){ CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<ElaboracaoNormativaCoAutores> c = cb.createQuery(ElaboracaoNormativaCoAutores.class); Root<ElaboracaoNormativaCoAutores> ten = c.from(ElaboracaoNormativaCoAutores.class); c.select(ten); c.where(cb.equal(ten.get("elaboracaoNormativa"), idElaboracaoNormativa)); Query query = getEntityManager().createQuery(c); @SuppressWarnings("unchecked") List<ElaboracaoNormativaCoAutores> result = query.getResultList(); return result; } }