0

Grails (2.1.1) のドキュメントによると、以下のような定義済みの where クエリを作成できるはずです。

class Person {
    String firstName
    String lastName

    static simpsons = where {
         lastName == "Simpson"
    }
    …
}

そして、次のように使用します。

Person.simpsons.each {
    println it.firstName
}

しかし、私が何をしようとしても、Grails/Javaは、私が理解している静的参照から非静的コンテンツにアクセスできないと私に言い続けます:)しかし、ドキュメントに記載されているようなことをどのように達成できますか? 私は通常namedQueriesを使用しますが、whereクエリを定義する使いやすさが本当に気に入っています。

4

1 に答える 1

0

ドキュメントを見ると、静的な where 句について特別なことは何も言われていません。静的コンテンツから非静的な firstName プロパティにアクセスしよとしています。これがコンパイラが伝えようとしていることです。

namedQueriesに本当に興味があるかもしれません。それはおそらくあなたが探しているものです。

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

その後:

Person.simpsons.list().each {
    println it.firstName
}
于 2012-10-23T14:07:29.207 に答える