我希望能够使用CriteriaBuilder
之类的内容对数据库结果进行分页,但我需要将结果与单个时间点保持一致。
是否有一种简单的方法以某种方式分页并将select保留在同一个事务/
中答案 0 :(得分:1)
您是否已放弃使用ScrollableResult
将整个结果集存储在内存中?
看here
DomainObject.createCriteria().scroll{}
返回ScrollableResult
答案 1 :(得分:-2)
根据当前页码,在条件中指定所需的偏移量。
def results = DomainClass.withCriteria {
firstResult ( (currentPageNumber - 1) * itemsPerPage)
maxResults (itemsPerPage)
}
要知道总页数,您需要另一个查询:
def numberOfPages = DomainClass.count()
if(numberOfPages != 0) numberOfPages = numberOfPages / itemsPerPage + 1