Grails从静态上下文查询?

时间:2012-09-17 15:11:27

标签: grails gorm

根据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查询。

1 个答案:

答案 0 :(得分:0)

查看docshere他们没有说明static where where子句,你试图从静态内容访问非静态 firstName 属性,这就是编译器试图告诉你的。

您可能对namedQueries非常感兴趣,这可能正是您所寻找的。

static namedQueries = {
       simpsons {
           eq(lastName,"Simpson")
       }
}

然后:

Person.simpsons.list().each {
    println it.firstName
}