分页查询是Web项目经典应用,下面是实现Hibernate分页查询的具体实现。关键点是使用了Query的两个重要的函数,SetFirstResult(int firstResult)用于设置从哪一个对象开始检索,SetMaxResult(int maxResult)用于设置每次检索返回的最大对象数。
public class Test { public static void main(String[] args) { SessionFactory sf=new Configuration().configure().buildSessionFactory(); Session session=sf.openSession(); String hql="from Employee"; String hql2="select count(*) from Employee"; Query query=session.createQuery(hql2); List list=query.list(); int count=Integer.parseInt(list.get(0).toString()); int pageCount=(count+pageSize-1)/pageSize; //计算总页数 Query q=session.createQuery(hql); for(int i=0;i