使用GORM基于子表中的列进行排序?

时间:2012-05-16 12:17:29

标签: grails gorm

我有一个名为employee和child table address的表。

现在我想获得一个雇员列表,使用GORM按地址表中的address1排序。

Employee.findAllByName(name, [max: maxRecords, offset: 100,sort: Address.address1, order: desc])

上述声明无效,任何建议都将不胜感激。

由于

1 个答案:

答案 0 :(得分:7)

尝试使用criteria查询,如此...

def c = Employee.createCriteria()
def results = c.list (max: maxRecords, offset: 100) {
    eq("name", name)
    address {
        order("addres1", "desc")
    }

}

这对我有用!

另一个选项是添加默认排序顺序,如此...

class Address{
    …
    static mapping = {
        sort address1:"desc"
    }
}

然而,我总是喜欢以“按需”为基础做事情,而不是定义每次进行排序,即使可能不需要。你选。享受!