Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package it.unitn.elisco.dao; import it.unitn.elisco.bean.SectorBasics; import it.unitn.elisco.bean.hibernate.Sector; import it.unitn.elisco.utils.HibernateUtil; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.criterion.MatchMode; import org.hibernate.criterion.Projections; import org.hibernate.criterion.Restrictions; import org.hibernate.transform.Transformers; /** * * @author Andrea Marcolin */ public class SectorDAO extends DAO<Sector, String> { public List<SectorBasics> findSectorBasics(String sector) { Session s = HibernateUtil.getSession(); Transaction tx = s.beginTransaction(); // Get all sectors // - which id begin with the specified query string (optional, otherwise return all sectors) Criteria criteria = s.createCriteria(Sector.class); if (sector != null && !sector.equals("")) { criteria.add(Restrictions.like("id", sector, MatchMode.START)); } criteria.setProjection(Projections.projectionList().add(Projections.property("id"), "id") .add(Projections.property("description"), "description")) .setResultTransformer(Transformers.aliasToBean(SectorBasics.class)); List<SectorBasics> res = criteria.list(); tx.commit(); s.close(); return res; } public Sector getSector(String id) { Session s = HibernateUtil.getSession(); Transaction tx = s.beginTransaction(); Sector res = findSector(s, id); tx.commit(); s.close(); return res; } // Auxiliary Methods private Sector findSector(Session s, String id) { return getByPrimarykey(s, Sector.class, id); } }