アノテーションインターフェース Query
@RetentionSE(RUNTIMESE)
@TargetSE({METHODSE,ANNOTATION_TYPESE})
@DocumentedSE
@Hint
@ReadPreference
public @interface 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 文字列を受け取ります。これはメソッド名よりも優先されます。- 戻り値:
- デフォルトでは空の
String
SE。
- デフォルト:
- ""
fields
StringSE fields指定されたクエリに対して返されるフィールドを定義します。返されるドメインオブジェクトにはこれらのフィールドのみが含まれることに注意してください。- 戻り値:
- デフォルトでは空の
String
SE。
- デフォルト:
- ""
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);
- 戻り値:
- デフォルトでは空の
String
SE。 - 導入:
- 2.1
- デフォルト:
- ""
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);
- 戻り値:
- デフォルトでは空の
String
SE です。 - 導入:
- 2.2
- デフォルト:
- ""
hint
使用するインデックスの名前。@Query(value = "...", hint = "lastname-idx")
は次のショートカットとして使用できます:@Query(...) @Hint("lastname-idx") List<User> findAllByLastname(String collation);
- 戻り値:
- インデックス名。
- 導入:
- 4.1
- 関連事項:
- デフォルト:
- ""
readPreference
使用する読み取り設定のモード。この属性 (@Query(value = "...", readPreference = "secondary")
) は次の別名です。@Query(...) @ReadPreference("secondary") List<User> findAllByLastname(String lastname);
- 戻り値:
- インデックス名。
- 導入:
- 4.2
- 関連事項:
- デフォルト:
- ""