14

クエリメソッドでSpring Dataの「exists」キーワードを使用するにはどうすればよいですか?

私はこのような方法を持ちたいです:

public interface ProfileRepository extends JpaRepository<Profile, Long> {
  boolean existsByAttribute(String attribute);
}

ここで、AttributeProfileのフィールドです。

回避策は、 custom-implementationを使用することです。ただし、付録ではexistsをキーワードとして定義しています。誰かがこのキーワードの使い方の例を教えてくれませんか?

4

1 に答える 1

9

文書化されたキーワードは、プロパティ参照と組み合わせて使用​​することを意図しています。したがって、この場合の のセマンティクスはEXISTS、プロパティが存在するかどうかをチェックすることです。ドキュメントの一部はSpring Data Commonsから取得され、そこにリストされているキーワードは、Spring Data JPAでサポートされていることを意味するものではないことに注意してください(リンクしたセクションの最初の段落に示されています)。たとえば、完全に存在しないフィールドと論理値Existsで使用可能なフィールドには違いがあるため、MongoDB でのみ意味があるため、Spring Data JPA ではサポートされていません。null

したがって、探しているのは、(Is)Nullオブジェクトを返すという現在の制限があるキーワードの周りにあり、返されたリストの内容を確認する必要があるようです。派生クエリ メソッドのプロジェクションのサポートを追加するためのチケットがあります。これは、さらに進歩するために従う可能性があります。

于 2013-01-08T08:28:01.347 に答える