忽略jpql查询中的null参数

时间:2016-06-24 16:30:25

标签: jpql

我想在jpql中使用查询创建一个过滤器。 我的问题是:如果我有4,5,6等参数,我想在进行查询时忽略一个或多个参数。为什么?因为我想打开或关闭一些过滤器。

实施例

我想看到所有状态"被解雇的用户#34;所以我想做这样的查询:

"从用户中选择u作为u,其中u.state =:parameterState"

其中parameterState是我的参数,包含字符串" fired"。

到目前为止一切顺利,但我想让SAME查询发送一个null(带有parameterState)来忽略过滤器并向我显示所有用户。

"从用户中选择u作为u,其中u.state =:parameterState" 现在parameterState有一个空值,我需要忽略"其中u.state =:parameterState"进行此查询:

"从用户中选择你作为你"

我知道我可以使用所有可行的方式制作2个查询的切换案例,但我想用GENERIC WAY来调用1个唯一查询并解决所有问题。

请注意,如果我想制作2个过滤器(带有2个参数),我需要制作4个不同的查询(在Switch-case中),如果我需要4个过滤器(带有4个参数),有16种不同的方法来制作查询。

这就是为什么我想用忽略NULL参数进行一次通用调用,它是否可行?

0 个答案:

没有答案