web-dev-qa-db-fra.com

JPA findBy field ignore case

Comment puis-je effectuer une recherche findByIn en utilisant IgnoreCase de <Field>? J'ai essayé d'utiliser findByNameIgnoreCaseIn et findByNameInIgnoreCase sans résultat. DB est Postgresql.

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

Si j'ai bien compris, IgnoreCase n'est pas pris en charge avec la clé In, j'ai donc changé le code de cette façon:

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

et les valeurs userNames précédemment en majuscules.

3
Daria Bulanova

Essayez quelque chose comme ceci:

List<User> findByNameInIgnoreCase(List<String> userNames);
16
Sumeet Tiwari