本文介绍了JPA 查询以处理 NULL 参数值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是 JPA 的新手,这是我的查询之一,我有几个参数作为查询的一部分,任何参数都可以是空值
I am new to JPA here is one of my query and i have couple of parameters as part of query and any parameter can be null value
@Query(value = "SELECT ord.purchaseOrderNumber,ord.salesOrderNumber,ord.quoteNumber"
+ " FROM Order ord WHERE ord.purchaseOrderNumber LIKE :poNumber% "
+ " AND ord.salesOrderNumber LIKE :soNumber "
+ " AND ord.quoteNumber = :quoteNumber "
上面的例子如果我的输入参数:quoteNumber 是 NULL 那么我不应该通过 ord.quoteNumber = NULL 过滤,那么如何避免这种情况
example in the above if my input parameter :quoteNumber is NULL then i shouldn't filter by ord.quoteNumber = NULL, so how do avoid this
推荐答案
您可以添加一组条件以忽略"具有空值或空字符串的属性.
You could add a set of conditions to "ignore" properties with null values or empty strings.
例如
+ " AND (ord.quoteNumber = :quoteNumber or :quoteNumber is null or :quoteNumber = '' ")
这篇关于JPA 查询以处理 NULL 参数值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!