Spring JPA @Query与LIKE

我正在尝试在CrudRepository中创建一个方法,该方法将向我提供用户列表,其用户名类似于输入参数(不仅以它开头,还包含它)。我尝试使用method,"findUserByUsernameLike(@Param("username") String username)"但正如Spring文档中所述,此方法等于“ where user.username like ?1”。这对我不利,因为我已经告诉过我我试图让所有用户名包含…的用户

我对方法写了一个查询,但它甚至没有部署。

@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);

}

有人可以帮我吗?

回答:

尝试使用以下方法(对我有用):

@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

回到顶部