1. ホーム
  2. java

[解決済み] spring JpaRepository における %Like% クエリ

2022-06-12 02:56:34

質問

でクエリのようなものを書きたいのですが、どうすればよいでしょうか? JpaRepository で同じようなクエリを書きたいのですが、何も返されません。

LIKE '%place%' -動作しません。

LIKE 'place' は完全に動作します。

以下は私のコードです。

@Repository("registerUserRepository")
public interface RegisterUserRepository extendsJpaRepository<Registration,Long> {

    @Query("Select c from Registration c where c.place like :place")
     List<Registration> findByPlaceContaining(@Param("place")String place);
}

どのように解決するのですか?

Spring Data JPA のクエリでは、以下のように "%" と空白文字が必要です。 like のように、クエリに

@Query("Select c from Registration c where c.place like %:place%") .

Cf. http://docs.spring.io/spring-data/jpa/docs/current/reference/html .

を取り除きたいと思うかもしれません。 @Query アノテーションを取り除いたほうがいいかもしれません。これは標準的なクエリ(springデータプロキシによって自動的に実装される)に似ているからです。

List<Registration> findByPlaceContaining(String place);

で十分です。