title: Why does findAllBy* fail when using three conditions in Grails/GORM?
body: <p>Consider the following usages of the Grails/GORM dynamic finder method findAllBy*:</p>
  
  <pre><code>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()}"
  </code></pre>
  
  <p>The first five of these dynamic finder usages works as expected.</p>
  
  <p>However, the sixth one fails with an InvalidPropertyException ("No property found for name [yearAndMonth] for class [class foo]"). </p>
  
  <p>Question:</p>
  
  <p><b>Why doesn't the sixth one work? Isn't findAllBy* able to handle more than two conditions? Solution/work-around?</b></p>