Grails/GORM 動的ファインダー メソッド findAllBy* の次の使用法を検討してください。
def foo1 = Foo.findAllByYear(yyyy)
def foo2 = Foo.findAllByMonth(mm)
def foo3 = Foo.findAllByDay(dd)
def foo4 = Foo.findAllByYearAndMonth(yyyy, mm)
def foo5 = Foo.findAllByYearAndDay(yyyy, dd)
def foo6 = Foo.findAllByYearAndMonthAndDay(yyyy, mm, dd)
println "# foo1=${foo1.size()} foo2=${foo2.size()} foo3=${foo3.size()}"
println "# foo4=${foo4.size()} foo5=${foo5.size()} foo6=${foo6.size()}"
これらの動的ファインダーの使用法の最初の 5 つは、期待どおりに機能します。
ただし、6 番目のものは InvalidPropertyException (「クラス [class foo] の名前 [yearAndMonth] のプロパティが見つかりません」) で失敗します。
質問:
6番目のものが機能しないのはなぜですか? findAllBy* は 2 つ以上の条件を処理できませんか? 解決策/回避策は?