我想在用户表中按名称不区分大小写搜索数据.
@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)
我收到一个错误:意外的令牌:%.我应该在哪里放置'%'?
如何使用IgnoreCase进行findByIn搜索<Field>?我试图使用findByNameIgnoreCaseIn并findByNameInIgnoreCase没有结果.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值.