Grails标准查询检查“OR”逻辑 [英] Grails criteria query checking `OR` logic

查看:68
本文介绍了Grails标准查询检查“OR”逻辑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有grails 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆