Grails GORM&x27;或';标准问题

Grails GORM&x27;或';标准问题,grails,gorm,grails-2.2,Grails,Gorm,Grails 2.2,'或'条件应返回userTerm或schoolTerm对象的结果 但它并没有返回预期的结果 我检查了单个条件,结果很好,但当我在userTerm和schoolTerm中添加“or”条件时,它返回空列表 这在Grails1.3.7中工作正常,但在2.2.4中失败 问题是什么?请帮助。在将1.3.7项目升级到2.2.x之后,我一直在使用left join解决此问题。对于一个大项目来说,这很烦人。我还在调查是否有其他选择 or { userTerm { and { l

'或'条件应返回userTerm或schoolTerm对象的结果 但它并没有返回预期的结果

我检查了单个条件,结果很好,但当我在userTerm和schoolTerm中添加“or”条件时,它返回空列表

这在Grails1.3.7中工作正常,但在2.2.4中失败
问题是什么?请帮助。

在将1.3.7项目升级到2.2.x之后,我一直在使用left join解决此问题。对于一个大项目来说,这很烦人。我还在调查是否有其他选择

or {
   userTerm {
      and {
        le('startDate', endDate)
        ge('endDate', startDate)
      }
   }
   schoolTerm {
      and {
         le('startDate', endDate)
         ge('endDate', startDate)
      }
   }
}

发布域类,并在其中提供所需的信息。请注意,Grails2.0中的关联是使用内部连接获取的,而早期版本使用的是外部连接。您可能面临需要外部联接的情况。看看这个,但是外部连接选择所有的行,不管上面的条件是否匹配。。。我需要满足学校学期或用户学期条件的行。
or {
   userTerm(CriteriaSpecification.LEFT_JOIN) {
      and {
        le('startDate', endDate)
        ge('endDate', startDate)
      }
   }
   schoolTerm(CriteriaSpecification.LEFT_JOIN) {
      and {
         le('startDate', endDate)
         ge('endDate', startDate)
      }
   }
}