Я пытаюсь проконсультироваться с использованием HIBERNATE и JPA.
это собственный запрос и он работает на postgres
select * from table tb where upper(tb.column1) like any(array[?1]);
, но когда я запускаю с использованием jpa, я получаю следующую ошибку
[42883] ОШИБКА: оператор не существует: текст ~~ запись Dica: ни один оператор не соответствует данному имени и типу (аргументам) аргумента.Возможно, вам потребуется добавить явные приведения типов.
Я вижу, что это происходит из-за того, что hibernate запускает запрос следующим образом:
select * from table tb where upper(tb.column1) like any(array[('%text1%', '%texte2%')]);
, и он должен быть без '')'вот так:
select * from table tb where upper(tb.column1) like any(array['%text1%', '%texte2%']);
Вот как я работаю на JPA
@Query(nativeQuery = true, value = "SELECT column1 FROM table1 WHERE column1 LIKE ANY(ARRAY[?1])")
List<String> example(List<String> valores);
Как я могу это решить ....