JPA findBy字段忽略大小写

时间:2016-05-30 11:30:27

标签: java spring postgresql spring-data-jpa dao

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

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

2 个答案:

答案 0 :(得分:9)

尝试这样的事情:

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

答案 1 :(得分:0)

据我了解,In键不支持IgnoreCase,因此我以这种方式更改了代码:

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

和以前的大写userNames值。