我正在做一个遗留项目。
它使用休眠3.6.0
正在使用HibernateDAOSuport
和一个继承它的旧类。
该旧类具有执行所有Db操作的方法,并且所有dao classes
都在使用这些方法。
现在,我想使用此类实现分页。
根据此链接pagination using hibernate和我自己的分析,似乎使用Criteria API将是最佳选择。
但是此类仅提供一个接受Criterion object
和实体类的方法(这是使用Criteria
的唯一方法)。
API签名如下
List byCriteria(Class entity , Criterion crit) { }
此方法从Criteria object
内部获取Hibernate session
,并将Criterion object
添加到其中,并被完全封装。
因此,我们无法使用此类获得Criteria object
。
我的问题是:
我们如何使用此方法将setFirstResult and setMaxResult
添加到Criteria
并获得List
的结果pagination
?
是否可以使用setFirstResult and setMaxResult
对象将Criteria
传递到Criterion
中?