Grails标准查询检查“OR”逻辑 [英] Grails criteria query checking `OR` logic
本文介绍了Grails标准查询检查“OR”逻辑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
criteriaQuery
我在检查或
逻辑再次使用单个状态变量,如下所示: 或{
eq(status,Status.ONE)
eq(status,Status.TWO )
eq(status,Status.THREE)
}
代码工作正常,我的问题是,因为我正在检查或
逻辑againist一个状态,有没有什么办法来优化这个代码像
eq(status,Status.ONE || Status.TWO || Status.THREE)
提前致谢。
解决方案
您可以使用
'in'(status,[Status.ONE,Status.TWO,Status.THREE])
或者只是
'in '(status,Status.values())
if / code>是一个枚举值为ONE,TWO&三。
I having grails criteriaQuery
where I am checking OR
logic againist a single state variable like this:
or {
eq("status", Status.ONE)
eq("status", Status.TWO)
eq("status", Status.THREE)
}
This code is working fine, My question is, as I am checking OR
logic againist a single state, Is there any way to optimize this code like
eq("status",Status.ONE || Status.TWO || Status.THREE)
Thanks in advance.
解决方案
You can use
'in'( "status", [Status.ONE, Status.TWO, Status.THREE] )
Or just
'in'( "status", Status.values() )
if Status
is an enum with values ONE, TWO & THREE.
这篇关于Grails标准查询检查“OR”逻辑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文