Предложение IN запроса JPA в столбце со значениями CSV не возвращает точных результатов - PullRequest
0 голосов
/ 19 июня 2020

Я работаю над запросом JPA, где мне нужно получить правильные результаты.

Структура таблицы (назовем это T1 ):

enter image description here

, и это мой запрос JPA:

@Query("from T1 t where t.csv in :ids")
List<T1> listT1Records(@Param("ids") List<String> ids);

Столбец csv также может содержать нечисловую c строку. когда я запрашиваю с использованием raw sql, он возвращает записи 1 , 2 и 3 , что является моим желаемым результатом, но когда я отлаживал свой код, возвращаемый результат только запись 2 . Я везде искал ответы, но не нашел.

Raw Sql

select * from T1 where csv in (11);

1 Ответ

0 голосов
/ 20 июня 2020

Причина IN не работает.

  1. Вы должны преобразовать список в строку, управляемую запятыми:
String.join(",", ids);
используйте следующий запрос:
@Query("from T1 t where t.csv like %:ids%")
List<T1> listT1Records(@Param("ids") String ids);
...