私のアプリケーションをGrails 2.0にアップグレードしようとしていて、次の問題に直面しています。私はパブリックゲッターを持つプライベートドメイン属性を持っています。私はcreateCriteriaでこの属性を照会したいと思います。私はgetterがpublicであっても "プロパティを解決できませんでした..."という例外を返します。私はJiraのバグを見たことがあるhttp://jira.grails.org/browse/GRAILS-8498?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel しかし、それでもうまくいきません。 Grails 1.3.7は正常に動作しました。Grails 2.0 CreateCriteriaのプライベート属性を照会することができません
私のコードは次のようである:クラス
class MyClass {
protected boolean reserved = false
protected void setReserved(boolean reserved) {
this.reserved = reserved
}
public boolean getReserved() {
return this.reserved
}
}
クエリ
def c = MyClass.createCriteria()
def results = c.list {
eq('reserved', true)
}
が問題となることが ドメインは、「予約」は、それが他のためと思われるので、名前はGrailsのでは予約語になった属性のことです異なる名前の属性があります...
getterとsetterを削除しても機能しますか(とにかくデフォルト以外の何もしていないので表示されません) –
このコードの主な目的はこの属性の設定を無効にすることですそれを読むことができるようにしなさい。私はgetterを削除しようとし、属性をpublicにしようとしましたが、アプリケーションの複雑さのために他の多くの問題を受けました。それにもかかわらず、もし私が属性をパブリックにするなら、私は希望する機能を失うでしょう - >セッターを隠す。 – kuceram