У меня есть эти два идентификатора, ID_A и ID_B.
Что я хочу сделать, это сделать поиск на основе этих двух идентификаторов, но пользователю не нужны два ввода двух из них.
Например, у меня есть два поля ввода для ввода пользователем ID_A и ID_B.
При поиске объекта с помощью ID_A я хочу, чтобы мой запрос игнорировал мой ID_B (сделайте его по умолчанию - NOT NULL).В базе данных это можно сделать с помощью подстановочного знака «%», но я не знаю, как это сделать весной.Оба идентификатора являются 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.
Как мне обойтиошибка?
Спасибо.