Исключение синтаксиса HQL при попытке игнорировать регистр с условием IN в Spring Boot - PullRequest
0 голосов
/ 22 апреля 2019

при попытке избежать чувствительности к регистру 3-го параметра, который является списком строк (машин), с помощью (UPPER (t.cars) в UPPER (? 3) Получение исключения синтаксиса Hql

@Query("select t from Usert where UPPER(t.name) = UPPER(?1) and UPPER(t.age) = UPPER(?2) and (UPPER(t.cars) in UPPER(?3) )")
    List<User> findByNameAndAgeAndCars(String name, String age, List<String> cars);

первые дваparam может работать с UPPER (), но список String In Condition не работает с Upper, если кто-либо знает, что решение может быть, пожалуйста, дайте мне знать

1 Ответ

1 голос
/ 22 апреля 2019

Сначала сделайте что-то вроде

for(int i=0; i<cars.size(); i++){
    cars.set(i, cars.get(i).toUpperCase());
}

, затем измените запрос на что-то вроде

@Query("select t from Usert where UPPER(t.name) = UPPER(?1) and UPPER(t.age) = UPPER(?2) and (UPPER(t.cars) in (?3) )")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...