web-dev-qa-db-ja.com

JPA findByフィールドは大文字小文字を無視します

IgnoreCase of <Field>を使用してfindByIn検索を行うにはどうすればよいですか? findByNameIgnoreCaseInfindByNameInIgnoreCaseを使用しようとしましたが、結果はありませんでした。 DBはPostgresqlです。

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

IgnoreCaseはInキーではサポートされていないので、次のようにコードを変更しました。

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

以前は大文字のuserNames値。

3
Daria Bulanova

このようなものを試してください:

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