GORM paginateParams使用问题

时间:2011-03-15 03:12:32

标签: grails pagination gorm

我只是想做分页但是直到现在我都无法做到。我有2个域类和一对多的关系。

class User {
   static hasMany = [contacts:Contact]
}

class Contact {
   static belongsTo = [ user : User ]
}

我有20个联系人。

当我尝试进行这样的查询时:

def maxResult = 20

def startIndex = 0

def contacts = Contact.findAllByUser(user, [max:maxResult, offset:startIndex])

它不起作用。查询正在运行但是与gorm的分页不起作用。结果只是一个联系对象。

当我尝试时;

def startIndex = 0

def contacts = Contact.findAllByUser(user, [offset:startIndex])

结果是20个联系人对象但是当我尝试使用不同的startIndex值时,它也不起作用。对于startIndex = 5,结果也是20个ontact对象。

有没有人对此有所了解。也许我做错了,也许这是gorm的问题。我还没找到答案。谢谢你的回答。

1 个答案:

答案 0 :(得分:1)

我还没有尝试使用DynamicFinder做这件事,但是当我查看文档时,你的语法似乎是正确的。作为替代方案,我使用createCriteria来解决分页问题。

def queryResult = Contact.createCriteria().list(max: max, offset: offset) {
            and {
                /// FILTER ///
                user {
                    eq("id", userInstance.id)
                }
            }
    }