我正在使用Oracle和Grails 1.3.7,并且有这种情况:
域
class Publisher {
static hasMany = [books : Book]
}
class Book {
Publisher pub
Date datePublished
}
PublisherController
def show = {
def publisherInstance = Publisher.get(params.id)
...
}
假设每个出版商都有数千本书。在Publisher.get(params.id)以后,PublisherInstance将附带大量书籍。在 Controller 的show Action 中,是否可以按datePublished对显示的书进行分页?我在玩withCriteria,但没有任何运气。
谢谢!
最佳答案
加载Publisher时,只有在访问books
集合后才加载书籍-正是由于这个原因,它才按需延迟加载。如果您要检索几本出版商的书籍,请使用查询,例如
def publisherInstance = Publisher.get(params.id)
int offset = ...
def books = Book.findAllByPublisher(publisherInstance, [max: 10, offset: offset])
并选择正确的页面,请根据分页参数计算
offset
。