package com.rjconsultores.ventaboletos.dao.hibernate; import java.util.List; import org.hibernate.Criteria; import org.hibernate.SessionFactory; import org.hibernate.criterion.Restrictions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; import com.rjconsultores.ventaboletos.dao.ContaMDDAO; import com.rjconsultores.ventaboletos.entidad.ContaMD; @Repository("contaMDDAO") public class ContaMDHibernateDAO extends GenericHibernateDAO implements ContaMDDAO { @Autowired public ContaMDHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { setSessionFactory(factory); } @SuppressWarnings("unchecked") @Override public List obtenerTodos() { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); return c.list(); } @Override public Boolean existeConta(ContaMD conta) { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("nome", conta.getNome())); c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("tipo", conta.getTipo())); if (conta.getContaId() != null) { c.add(Restrictions.ne("contaId", conta.getContaId())); } return c.list().isEmpty(); } }