【问题标题】:JPA findBy field ignore caseJPA findBy 字段忽略大小写
【发布时间】:2016-09-28 05:17:43
【问题描述】:

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

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

【问题讨论】:

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


【解决方案1】:

试试这样的:

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

【讨论】:

    【解决方案2】:

    据我了解,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 值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-06
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多