У меня есть репозиторий Spring Boot, в котором я пытаюсь создать функцию запроса с использованием HQL.
Функция принимает параметр Integer, который должен игнорироваться запросом, если он нулевой, иначе списокследует проверить, содержит ли оно значение.
У меня есть предложение where из двух частей: проверка на нулевое значение и проверка списка, выглядящие следующим образом:
@Query("SELECT u FROM MyEntity " +
" WHERE (:myParam is null or :myParam in (2, 3))"
)
Теперь проблема в том, чтодля части :myParam in (2, 3)
он жалуется "Несогласованные типы данных: ожидаемый BINARY получил NUMBER
(когда: myParam имеет значение null, для: myParam! = null это работает)
Я пытался:
приведение либо параметра, либо нулевого значения в
с использованием coalesce (: myParam, CAST (NULL AS int)), который работал над аналогичнымпроблема с: myParam является целочисленным списком
с использованием оператора регистра переключателя
(case when :spracheKy is null then true when :spracheKy in (2, 3) then true else false end) = true
Заранее спасибо залюбая помощь