考虑 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()}"
这些动态查找器用法中的前五个按预期工作。
但是,第六个失败并出现 InvalidPropertyException(“找不到类 [class foo] 的名称 [yearAndMonth] 的属性”)。
问题:
为什么第六个不起作用?findAllBy* 不能处理两个以上的条件吗?解决方案/解决方法?