アノテーションインターフェース 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
fields
count
boolean count定義されたクエリをカウント射影として実行する必要があるかどうかを返します。- 戻り値:
- デフォルトでは false。
- 導入:
- 1.3
- デフォルト:
false
exists
boolean exists定義されたクエリを Exists 射影として実行する必要があるかどうかを返します。- 戻り値:
- デフォルトでは false。
- 導入:
- 1.10
- デフォルト:
false
delete
boolean deleteクエリが一致するドキュメントを削除するかどうかを返します。- 戻り値:
- デフォルトでは false。
- 導入:
- 1.5
- デフォルト:
false
sort
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
使用するインデックスの名前。@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
- 関連事項:
- デフォルト:
""