最近有同学做项目的时候发现 Spring 整合 Hibernate 时候用的 HibernateTemplate 不支持分页, 上网搜了搜找到结果并测试成功, 只需要用下面的方法就能分页:

/**
* 使用hql 语句进行操作
* @param hql HSQL 查询语句
* @param offset 开始取数据的下标
* @param length 读取数据记录数
* @return List 结果集
*/
public List getListForPage(final String hql, final int offset,
 final int length) {

List list = getHibernateTemplate().executeFind(new HibernateCallback() {
 public Object doInHibernate(Session session)
 throws HibernateException, SQLException {
 Query query = session.createQuery(hql);
 query.setFirstResult(offset);
 query.setMaxResults(length);
 List list = query.list();
 return list;
 }
});
return list;
}

转载请注明:WebLogic Android 博客 » 使用 HibernateTemplate 实现分页查询