JPA 查找通过字段忽略大小写

2022-09-02 03:44:53

如何使用 的 IgnoreCase 进行 findByIn 搜索?我试图使用,但没有结果。DB是Postgresql。<Field>findByNameIgnoreCaseInfindByNameInIgnoreCase

@Repository
public interface UserRepository {
    List<User> findByNameIgnoreCaseIn(List<String> userNames);
}

答案 1

试试下面这样:

List<User> findByNameInIgnoreCase(List<String> userNames);

答案 2

据我所知,In键不支持OverlookCase,所以我以这种方式更改了代码:

@Repository
public interface UserRepository {
    @Query("select user from SysUser user where upper(name) in :userNames")
    List<SysUser> findByNameIgnoreCaseIn(@Param("userNames") List<String> userNames);
}

和以前大写的用户名值。


推荐