/** * */ package net.conselldemallorca.helium.core.model.dao; import java.util.List; import net.conselldemallorca.helium.core.model.hibernate.Carrec; import net.conselldemallorca.helium.core.model.hibernate.Entorn; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Component; /** * Dao pels objectes de tipus Carrec * * @author Limit Tecnologies <limit@limit.es> */ @Component public class CarrecDao extends HibernateGenericDao<Carrec, Long> { public CarrecDao() { super(Carrec.class); } public List<Carrec> findAmbEntorn(Long entornId) { return findByCriteria( Restrictions.eq("entorn", (Entorn)getSession().get(Entorn.class, entornId))); } public List<Carrec> findPagedAndOrderedAmbEntorn( Long entornId, String sort, boolean asc, int firstRow, int maxResults) { return findPagedAndOrderedByCriteria( firstRow, maxResults, new String[] {sort}, asc, Restrictions.eq("entorn.id", entornId)); } public int getCountAmbEntorn( Long entornId) { return getCountByCriteria(Restrictions.eq("entorn.id", entornId)); } public Carrec findAmbEntornICodi( Long entornId, String codi) { List<Carrec> carrecs = findByCriteria( Restrictions.eq("entorn", (Entorn)getSession().get(Entorn.class, entornId)), Restrictions.eq("codi", codi)); if (carrecs.size() > 0) return carrecs.get(0); return null; } public List<Carrec> findAmbArea( Long areaId) { return findByCriteria( Restrictions.eq("area.id", areaId)); } public Carrec findAmbAreaICodi( Long areaId, String codi) { List<Carrec> carrecs = findByCriteria( Restrictions.eq("area.id", areaId), Restrictions.eq("codi", codi)); if (carrecs.size() > 0) return carrecs.get(0); return null; } public Carrec findAmbEntornAreaICodi( Long entornId, String areaCodi, String carrecCodi) { return (Carrec)getSession().createQuery( "from " + " Carrec c " + "where " + " c.entorn.id=? " + "and c.area.codi=? " + "and c.codi=?"). setLong(0, entornId). setString(1, areaCodi). setString(2, carrecCodi). uniqueResult(); } }