package br.com.doctors.dao.util; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.criterion.Disjunction; import org.hibernate.criterion.Expression; import org.hibernate.criterion.Restrictions; import org.joda.time.DateTime; import org.joda.time.LocalDate; import org.joda.time.LocalTime; import br.com.caelum.vraptor.ioc.Component; import br.com.doctors.modelo.agendamento.Agendamento; import br.com.doctors.modelo.util.Notificacao; @Component public class NotificacaoDao extends DaoImpl<Notificacao>{ public NotificacaoDao(Session session) { super(session, Notificacao.class); } public List<Notificacao> buscaPorMedico(Long idMedico){ // .add(Restrictions.like("horarioDeNotificacao", new DateTime())) Criteria criteria = getSession().createCriteria(Notificacao.class) .add(Restrictions.eq("notificado", false)) .createCriteria("agendamento").createCriteria("medico").add(Restrictions.idEq(idMedico)) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); return criteria.list(); } }