HibernateTemplate 只支持 .setMaxResults(int) 方法。 因此,做 Spring+Hibernate 分页处理要使用到一个接口 org.springframework.orm.hibernate3.HibernateCallback 来灵活操作数据库,该接口中有一个未实现的方法 Object doInHibernate (Session session),用以获得并利用 session 进行操作(自动创建、销毁)。
以下代码均参考了 使用 HibernateTemplate 实现分页查询 一文。