Я наткнулся на странное поведение с 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
проверка всегда будет неудачной.
У кого-нибудь есть понимание этого? Я не нашел сообщение об ошибке или любую другую проблему, упоминающую это как проблему. Спасибо!