Как использовать любой другой массив строк JPAJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как использовать любой другой массив строк JPA

Сообщение Anonymous »

Я пытаюсь проконсультироваться с помощью HIBERNATE и JPA.

это собственный запрос, и он работает с postgres

Код: Выделить всё

select * from table tb where upper(tb.column1) like any(array[?1]);
но когда я запускаю с помощью jpa, я получаю следующую ошибку


[42883 ] ОШИБКА: оператор не существует: текст ~~ запись
Dica: ни один оператор не соответствует данному имени и типу(ам) аргумента. Возможно, вам придется добавить явное приведение типов.


Я вижу, что это потому, что спящий режим запускает запрос следующим образом:

Код: Выделить всё

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 example(List valores);
Как это решить....

Подробнее здесь: https://stackoverflow.com/questions/551 ... string-jpa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»