@RepeatableSE(valueSE=NamedStoredProcedureQueries.class) @TargetSE(valueSE=TYPESE) @RetentionSE(valueSE=RUNTIMESE) public @interface NamedStoredProcedureQuery
NamedStoredProcedureQuery
アノテーションは、エンティティまたはマップされたスーパークラスに適用できます。
name
要素は、実行可能 StoredProcedureQuery
オブジェクトを作成するために EntityManager.createNamedStoredProcedureQuery(java.lang.String)
メソッドに引数として渡される名前です。名前のスコープは永続性ユニットです。
procedureName
要素は、データベース内のストアドプロシージャの名前です。
ストアードプロシージャーのパラメーターは、parameters
エレメントによって指定されます。すべてのパラメーターは、ストアードプロシージャーのパラメーターリストに出現する順序で指定する必要があります。
resultClasses
要素は、結果のマッピングに使用される 1 つまたは複数のクラスを指します。resultSetMappings
要素は、SqlResultSetMapping
アノテーションで定義されているように、1 つ以上の結果セットマッピングに名前を付けます。
複数の結果セットがある場合、同じメカニズムを使用してマッピングされると想定されます。たとえば、すべてが結果クラスマッピングのセットを介して、またはすべてが結果セットマッピングのセットを介してのいずれかです。これらのマッピングの指定の順序は、ストアドプロシージャの呼び出しによって結果セットが返される順序と同じである必要があります。ストアードプロシージャーが 1 つ以上の結果セットを返し、resultClasses
または resultSetMappings
エレメントが指定されていない場合、結果セットは型 Object[] のリストとして返されます。ストアドプロシージャの結果セットをマッピングするためのさまざまな戦略の組み合わせは定義されていません。
hints
要素を使用して、クエリのプロパティとヒントを指定できます。この仕様で定義されたプロパティは、プロバイダーによって監視される必要があります。プロバイダーが認識しないベンダー固有のヒントは無視する必要があります。
名前付きストアドプロシージャクエリのすべてのパラメーターは、StoredProcedureParameter
アノテーションを使用して指定する必要があります。
StoredProcedureQuery
, StoredProcedureParameter
修飾子と型 | 必須要素と説明 |
---|---|
StringSE | name ストアドプロシージャクエリオブジェクトを作成する EntityManager メソッドでクエリを参照するために使用される名前。 |
StringSE | procedureName データベース内のストアードプロシージャーの名前。 |
修飾子と型 | オプションの要素と説明 |
---|---|
QueryHint[] | hints クエリのプロパティとヒント。 |
StoredProcedureParameter[] | parameters ストアドプロシージャのすべてのパラメーターに関する情報。 |
ClassSE[] | resultClasses 結果のマッピングに使用される 1 つまたは複数のクラス。 |
StringSE[] | resultSetMappings メタデータで定義されている、1 つ以上の結果セットマッピングの名前。 |
public abstract StringSE name
EntityManager
メソッドでクエリを参照するために使用される名前。public abstract StringSE procedureName
public abstract StoredProcedureParameter[] parameters
public abstract ClassSE[] resultClasses
public abstract StringSE[] resultSetMappings
public abstract QueryHint[] hints
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.