package br.gov.mj.sislegis.app.service.ejbs; import java.util.Date; import java.util.List; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.TypedQuery; import br.gov.mj.sislegis.app.model.Reuniao; import br.gov.mj.sislegis.app.service.AbstractPersistence; import br.gov.mj.sislegis.app.service.ReuniaoService; @Stateless public class ReuniaoServiceEjb extends AbstractPersistence<Reuniao, Long> implements ReuniaoService, EJBUnitTestable { @PersistenceContext private EntityManager em; public ReuniaoServiceEjb() { super(Reuniao.class); } @Override protected EntityManager getEntityManager() { // TODO Auto-generated method stub return em; } @Override public Reuniao buscaReuniaoPorData(Date data) { try { return findByProperty("data", data); } catch (Exception ex) { return null; } } @Override public List<Reuniao> reunioesPorMes(Integer mes, Integer ano) { TypedQuery<Reuniao> query = em.createQuery("FROM Reuniao WHERE EXTRACT(MONTH FROM data) = :paramMes AND EXTRACT(YEAR FROM data) = :paramAno ORDER BY data desc ", Reuniao.class); query.setParameter("paramMes", mes); query.setParameter("paramAno", ano); return query.getResultList(); } @Override public void setInjectedEntities(Object... injections) { em = (EntityManager) injections[0]; } }