我的 grails 应用程序有以下类
class Person {
Address address
// other attributes
}
class Address {
String street
City city
// more attributes
}
我想按街道名称的字母顺序查询前 5 个人。目前我正在做类似的事情
def criteria = Person.createCriteria();
def people = criteria.list(max:5) {
address {
order("street","asc")
}
}
这有效。我只是想知道是否有更短的方法来做到这一点(可能没有标准生成器)。
最佳答案
其实我认为这是最清晰、最有效的方式。你可以尝试像 executeQuery 这样的事情,但说实话,我不确定这是否更简洁。如果您只是想缩短代码,可以简化前两行:
def people = Person.createCriteria().list(max:5) {
...
关于没有条件生成器的嵌套属性的 Grails 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13244357/