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

TP_*_*AVA 4 grails grails-orm

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

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

Employee.findAllByName(name, [max: maxRecords, offset: 100,sort: Address.address1, order: desc])
Run Code Online (Sandbox Code Playgroud)

以上陈述不起作用,任何建议将不胜感激.

谢谢

Mic*_*Lee 7

尝试使用标准查询,如此...

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

}
Run Code Online (Sandbox Code Playgroud)

这适合我!

另一种选择是添加默认排序顺序,如此...

class Address{
    …
    static mapping = {
        sort address1:"desc"
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我总是喜欢将事情作为"按需"进行,而不是定义每次进行排序,即使可能不需要.你选.请享用!