【发布时间】:2019-05-28 14:15:13
【问题描述】:
我有这两个 ID,ID_A 和 ID_B。
我想要做的是根据这两个 id 进行搜索,但用户不需要两个输入它们两个。
比如我有两个输入框供用户输入ID_A和ID_B。
当使用 ID_A 搜索对象时,我希望我的查询忽略我的 ID_B(使其成为默认值-NOT NULL)。在数据库上可以使用通配符 '%' 做到这一点,但我不知道如何在春天做到这一点。两个 ID 都是 BigDecimals。
我试过了
if(ID_A==null)
substituteParmeter(ID_A)
替换参数方法将某个参数的当前值更改为通配符'%'。但是在执行此查询时:
Select t from Table t where t.ID_A like :id_a and t.ID_B like :id_b
如果 id_a 或 id_b 是 '%',程序会发现错误,发现 '%' 并且它应该是一个 bigDecimal。
我怎样才能绕过这个错误?
谢谢。
【问题讨论】:
-
字段可以使用 null