Olá Pessoal.
Estou tendo alguns problemas ao usuar o Spring Data JPA, para criar meus repositórios em principal com queries que usem like, consideremos a interface abaixo:
public interface UserRepository extends JpaRepository<User, Integer> {
@Query("select u from User as u where u.login like %:login%")
List<User> filterByLogin(@Param("login") String login);
}
A parte em negrito [%:login%] é o que eu não estou sabendo escrever, e por isso estou recebendo a seguinte exception:
Caused by: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: % near line 1, column 76 [select u from com.togoworks.base.common.model.User as u where u.login like %:login%]
Bom uma solução para o problema foi escrever a query assim:
@Query("select u from User as u where u.login like :login")
List<User> filterByLogin(@Param("login") String login);
E quando uso o método eu passo os % que preciso para o like, da seguinte forma: filterByLogin("%texto%");
Desta forma tudo funciona bem, porém gostaria de saber se tem como resolver isso já declaração do @Query como no primeiro caso.
Deste de já obrigado a todos.