【随手记录】Spring Data JPA 的 @Query 注解中使用 LIKE 查询参数处理
在 Spring Data JPA 的 @Query 注解中使用 LIKE 查询参数时,需要注意参数处理和通配符的使用方式,在查询语句中拼接通配符:
@Repository public interface UserRepository extends JpaRepository<User, Long> { // 使用 CONCAT 函数添加通配符 @Query("SELECT u FROM User u WHERE u.username LIKE CONCAT('%', :keyword, '%')") List<User> searchUsers(@Param("keyword") String keyword); // 或使用 || 连接符(某些数据库) @Query("SELECT u FROM User u WHERE u.username LIKE '%' || :keyword || '%'") List<User> searchUsersAlternative(@Param("keyword") String keyword); }