createQuery("select o from xxx o order by o.name").setFirstResult(10)
String queryString="select 结果字段 from 目标表 order by 排序字段 ASC(升序)或者DESC(降序)"; Query queryObject=getSession().createQuery(queryString); queryObject.setFirstResult(10); queryObject.setMaxResults(100);
如果是整合后的SSH,用spring去管理,那么怎么去用hibernate的分页呢?
spring有个hibernateTemplate可以实现。
给楼主一个我们项目中用到的一个分页查询数据方法,用到了ID排序,可以借鉴!public List<Requirement> listRequirementForPage(final String deptId, final Long[] status, final Date fromDate, final Date toDate, final int pageNo, final int pageSize) { return getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(final Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(Requirement.class); if (deptId!=null && !"".equals(deptId)) { criteria.createCriteria("assignor").createCriteria("xtDept").add(Restrictions.eq("deptId", deptId)); } if (status != null) { criteria.add(Restrictions.in("status", status)); } if (fromDate!=null && toDate!=null) { criteria.add(Restrictions.between("noteDate", fromDate, toDate)); } criteria.addOrder(Order.desc("id")); criteria.setFirstResult((pageNo-1)*pageSize); criteria.setMaxResults(pageSize); return criteria.list(); }
Query queryObject=getSession().createQuery(queryString);
queryObject.setFirstResult(10);
queryObject.setMaxResults(100);
return getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(final Session session)
throws HibernateException, SQLException {
Criteria criteria = session.createCriteria(Requirement.class);
if (deptId!=null && !"".equals(deptId)) {
criteria.createCriteria("assignor").createCriteria("xtDept").add(Restrictions.eq("deptId", deptId));
}
if (status != null) {
criteria.add(Restrictions.in("status", status));
}
if (fromDate!=null && toDate!=null) {
criteria.add(Restrictions.between("noteDate", fromDate,
toDate));
}
criteria.addOrder(Order.desc("id"));
criteria.setFirstResult((pageNo-1)*pageSize);
criteria.setMaxResults(pageSize);
return criteria.list();
}
});
}