根据Grails(2.1.1)文档我应该能够 创建预定义的位置,如下所示:
class Person {
String firstName
String lastName
static simpsons = where {
lastName == "Simpson"
}
…
}
并使用它:
Person.simpsons.each {
println it.firstName
}
无论我尝试什么,Grails / Java一直告诉我,我不能 从我理解的静态引用访问非静态内容 :)但是我怎样才能实现文档中描述的内容?我通常使用namedQueries,但我真的很喜欢使用定义where查询。
答案 0 :(得分:0)
查看docs和here他们没有说明static where where子句,你试图从静态内容访问非静态 firstName 属性,这就是编译器试图告诉你的。
您可能对namedQueries非常感兴趣,这可能正是您所寻找的。 p>
static namedQueries = {
simpsons {
eq(lastName,"Simpson")
}
}
然后:
Person.simpsons.list().each {
println it.firstName
}