Я пытаюсь сделать метод в CrudRepository, который сможет дать мне список пользователей, имена пользователей которых являются LIKE входным параметром (не только начинаются, но и содержат его). Я попытался использовать метод "findUserByUsernameLike(@Param("username") String username)"
, но, как сказано в весенней документации, этот метод равен «where user.username like ?1
». Это не хорошо для меня, поскольку я уже сказал, что я пытаюсь получить всех пользователей, чье имя пользователя содержит ...Spring JPA @Query с LIKE
Я написал запрос к методу, но он даже не развертывается.
@Repository
public interface UserRepository extends CrudRepository<User, Long> {
@Query("select u from user u where u.username like '%username%'")
List<User> findUserByUsernameLike(@Param("username") String username);
}
Может ли кто-нибудь помочь мне с этим?
Возможно, вы захотите использовать 'contains' для получения преимуществ от индексов, см. Http://docs.spring.io/spring-data/jpa/docs/1.4.3.RELEASE/reference/html/repository-query -keywords.html –