Grails在同一个事务上分页数据库结果?

时间:2011-05-17 15:19:28

标签: hibernate spring grails gorm

我希望能够使用CriteriaBuilder之类的内容对数据库结果进行分页,但我需要将结果与单个时间点保持一致。

是否有一种简单的方法以某种方式分页并将select保留在同一个事务/

2 个答案:

答案 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