JPA @Query Ошибка при использовании одного и того же параметра для LIKE и = - PullRequest
0 голосов
/ 07 ноября 2019

Я наткнулся на странное поведение с JPA @Query. Использование одного и того же параметра для сравнения с равными и LIKE-сравнения всегда будет предшествовать и добавлять % к параметру, что делает сравнение с равными всегда неудачным. Кто-нибудь может подтвердить или даже объяснить это?

Пример:

@Query("SELECT * FROM User u WHERE u.name = :term OR u.username LIKE %:term%")
List<Users> getUsers(final String term);

Параметр, при вызове которого с помощью getUsers("Jonas") и проверке ведения журнала SQL, равен %Jonas%, что означает = :term проверка всегда будет неудачной.

У кого-нибудь есть понимание этого? Я не нашел сообщение об ошибке или любую другую проблему, упоминающую это как проблему. Спасибо!

...