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中失败 可能是什么问题?请帮忙。
答案 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)
}
}
}