アノテーションインターフェース Query


リポジトリメソッドでファインダークエリを直接宣言するためのアノテーション。両方の属性で、?0?1 などのプレースホルダー表記を使用できます。
作成者:
Oliver Gierke, Thomas Darimont, Christoph Strobl, Mark Paluch, Jorge Rodr í guez
  • オプション要素の概要

    オプション要素
    修飾子と型
    オプションの要素
    説明
    クエリを実行するときに適用する照合を定義します。
    boolean
    定義されたクエリをカウント射影として実行する必要があるかどうかを返します。
    boolean
    クエリが一致するドキュメントを削除するかどうかを返します。
    boolean
    定義されたクエリを Exists 射影として実行する必要があるかどうかを返します。
    指定されたクエリに対して返されるフィールドを定義します。
    使用するインデックスの名前。
    使用する読み取り設定のモード。
    指定されたクエリのデフォルトの並べ替え順序を定義します。
    MongoDB JSON 文字列を使用して、実際に実行されるクエリを定義します。
  • 要素の詳細

    • value

      StringSE value
      実際に実行されるクエリを定義するために MongoDB JSON 文字列を受け取ります。これはメソッド名よりも優先されます。
      戻り値:
      デフォルトでは空の StringSE
      デフォルト:
      ""
    • fields

      StringSE fields
      指定されたクエリに対して返されるフィールドを定義します。返されるドメインオブジェクトにはこれらのフィールドのみが含まれることに注意してください。
      戻り値:
      デフォルトでは空の StringSE
      デフォルト:
      ""
    • count

      boolean count
      定義されたクエリをカウント射影として実行する必要があるかどうかを返します。
      戻り値:
      デフォルトでは false。
      導入:
      1.3
      デフォルト:
      false
    • exists

      boolean exists
      定義されたクエリを Exists 射影として実行する必要があるかどうかを返します。
      戻り値:
      デフォルトでは false。
      導入:
      1.10
      デフォルト:
      false
    • delete

      boolean delete
      クエリが一致するドキュメントを削除するかどうかを返します。
      戻り値:
      デフォルトでは false。
      導入:
      1.5
      デフォルト:
      false
    • sort

      StringSE sort
      指定されたクエリのデフォルトの並べ替え順序を定義します。: 設定されたデフォルトは、クエリメソッドの明示的な Sort 引数を使用して変更 / 上書きできます。
      
      
                      @Query(sort = "{ age : -1 }") // order by age descending
                      List<Person> findByFirstname(String firstname);
      
      
      戻り値:
      デフォルトでは空の StringSE
      導入:
      2.1
      デフォルト:
      ""
    • collation

      @AliasFor(annotation=Collation.class, attribute="value") StringSE collation
      クエリを実行するときに適用する照合を定義します。
      // Fixed value
      @Query(collation = "en_US")
      List<Entry> findAllByFixedCollation();
      
      // Fixed value as Document
      @Query(collation = "{ 'locale' :  'en_US' }")
      List<Entry> findAllByFixedJsonCollation();
      
      // Dynamic value as String
      @Query(collation = "?0")
      List<Entry> findAllByDynamicCollation(String collation);
      
      // Dynamic value as Document
      @Query(collation = "{ 'locale' :  ?0 }")
      List<Entry> findAllByDynamicJsonCollation(String collation);
      
      // SpEL expression
      @Query(collation = "?#{[0]}")
      List<Entry> findAllByDynamicSpElCollation(String collation);
      
      戻り値:
      デフォルトでは空の StringSE です。
      導入:
      2.2
      デフォルト:
      ""
    • hint

      @AliasFor(annotation=Hint.class, attribute="indexName") StringSE hint
      使用するインデックスの名前。@Query(value = "...", hint = "lastname-idx") は次のショートカットとして使用できます:
      @Query(...)
      @Hint("lastname-idx")
      List<User> findAllByLastname(String collation);
      
      戻り値:
      インデックス名。
      導入:
      4.1
      関連事項:
      デフォルト:
      ""
    • readPreference

      @AliasFor(annotation=ReadPreference.class, attribute="value") StringSE readPreference
      使用する読み取り設定のモード。この属性 (@Query(value = "...", readPreference = "secondary")) は次の別名です。
      @Query(...)
      @ReadPreference("secondary")
      List<User> findAllByLastname(String lastname);
      
      戻り値:
      インデックス名。
      導入:
      4.2
      関連事項:
      デフォルト:
      ""