Spring JPA @Query与LIKE
我正在尝试在CrudRepository中创建一个方法,该方法将向我提供用户列表,其用户名类似于输入参数(不仅以它开头,还包含它)。我尝试使用method,"findUserByUsernameLike(@Param("username") String username)"
但正如Spring文档中所述,此方法等于“ where user.username like ?1”
。这对我不利,因为我已经告诉过我我试图让所有用户名包含…的用户
我对方法写了一个查询,但它甚至没有部署。
@Repositorypublic interface UserRepository extends CrudRepository<User, Long> {
@Query("select u from user u where u.username like '%username%'")
List<User> findUserByUsernameLike(@Param("username") String username);
}
有人可以帮我吗?
回答:
尝试使用以下方法(对我有用):
@Query("SELECT u.username FROM User u WHERE u.username LIKE CONCAT('%',:username,'%')")List<String> findUsersWithPartOfName(@Param("username") String username);
注意:JPQL中的表名称必须以大写字母开头。
以上是 Spring JPA @Query与LIKE 的全部内容, 来源链接: utcz.com/qa/430968.html