GORM'或'标准问题

时间:2013-11-07 07:26:22

标签: grails gorm grails-2.2

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

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

我检查了个别条件并且工作得非常好但是当我在userTerm和schoolTerm中添加'或'条件时它会返回空列表。

这曾经在grails 1.3.7中运行良好但在2.2.4中失败 可能是什么问题?请帮忙。

1 个答案:

答案 0 :(得分:0)

在将1.3.7项目升级到2.2.x后,我一直在使用左连接解决这个问题。这对一个大型项目来说非常烦人。我还在调查是否有其他选择。

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