パッケージ jakarta.persistence

アノテーション型 NamedStoredProcedureQuery


  • @RepeatableSE(NamedStoredProcedureQueries.class)
    @TargetSE(TYPESE)
    @RetentionSE(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 アノテーションを使用して指定する必要があります。

    導入:
    2.1
    関連事項:
    StoredProcedureQuery, StoredProcedureParameter
    • 必須定数のサマリー

      必須要素  
      修飾子と型 必須要素 説明
      StringSEname
      ストアドプロシージャクエリオブジェクトを作成する EntityManager メソッドでクエリを参照するために使用される名前。
      StringSEprocedureName
      データベース内のストアードプロシージャーの名前。
    • オプション要素のサマリー

      オプション要素  
      修飾子と型 オプションの要素 説明
      QueryHint[]hints
      クエリのプロパティとヒント。
      StoredProcedureParameter[]parameters
      ストアドプロシージャのすべてのパラメーターに関する情報。
      ClassSE[]resultClasses
      結果のマッピングに使用される 1 つまたは複数のクラス。
      StringSE[]resultSetMappings
      メタデータで定義されている、1 つ以上の結果セットマッピングの名前。
    • 要素の詳細

      • name

        StringSE name
        ストアドプロシージャクエリオブジェクトを作成する EntityManager メソッドでクエリを参照するために使用される名前。
      • procedureName

        StringSE procedureName
        データベース内のストアードプロシージャーの名前。
      • parameters

        StoredProcedureParameter[] parameters
        ストアドプロシージャのすべてのパラメーターに関する情報。すべてのパラメーターは、ストアードプロシージャーのパラメーターリストに出現する順序で指定する必要があります。
        デフォルト:
        {}
      • resultClasses

        ClassSE[] resultClasses
        結果のマッピングに使用される 1 つまたは複数のクラス。
        デフォルト:
        {}
      • resultSetMappings

        StringSE[] resultSetMappings
        メタデータで定義されている、1 つ以上の結果セットマッピングの名前。
        デフォルト:
        {}
      • hints

        QueryHint[] hints
        クエリのプロパティとヒント。(ベンダー固有のクエリヒントが含まれる場合があります。)
        デフォルト:
        {}