相关疑难解决方法(0)

JPQL喜欢Case Insensitive

我想在用户表中按名称不区分大小写搜索数据.

@Repository
public interface UserRepository extends JpaRepository<User, Long> {

  @Query("select u from User u where lower(u.name) like %lower(?1)%")
  public List<User> findByNameFree(String name);

}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:意外的令牌:%.我应该在哪里放置'%'?

java spring jpa jpql spring-data-jpa

22
推荐指数
3
解决办法
2万
查看次数

JPA findBy字段忽略大小写

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

@Repository
public interface UserRepository {
    List<User> findByNameIgnoreCaseIn(List<String> userNames);
}
Run Code Online (Sandbox Code Playgroud)

据我所知,In键不支持IgnoreCase,所以我改变了代码:

@Repository
public interface UserRepository {
    List<User> findByNameIgnoreCaseIn(List<String> userNames);
}
Run Code Online (Sandbox Code Playgroud)

以前的大写userNames值.

java postgresql spring dao spring-data-jpa

11
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×2

spring ×2

spring-data-jpa ×2

dao ×1

jpa ×1

jpql ×1

postgresql ×1