ヘッダーをスキップ
Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス
12c (12.1.2)
E48005-01
  目次へ移動
目次

前
 
次
 

@NamedStoredProcedureQuery

@NamedStoredProcedureQueryを使用して、名前付き問合せとしてストアド・プロシージャをコールする問合せを定義します。

注釈要素

表2-41は、この注釈の要素を示しています。

表2-41 @NamedStoredProcedureQueryの注釈要素

注釈要素 説明 デフォルト

name

(必須)このストアド・プロシージャ問合せを参照する一意の名前。


procedureName

(必須)ストアド・プロシージャの名前。


callByIndex

(オプション)ストアド・プロシージャを名前でコールするかどうかを指定します。

  • trueの場合、データベースのプロシージャと同じ順序でStoredProcedureParametersを定義する必要があります。

  • falseの場合、データベース・プラットフォームはプロシージャ・パラメータへの名前付けをサポートしている必要があります。

false

hints

(オプション)問合せヒントの配列。


multipleResultSets

(オプション)ストアド・プロシージャが複数の結果セットを戻すかどうかを指定します。

これは、ストアド・プロシージャからの複数の結果セットをサポートしているデータベースにのみ適用されます。

false

parameters

(オプション)ストアド・プロシージャのパラメータの配列。


resultClass

(オプション)結果のクラス。

void.class

resultSetMapping

(オプション)SQLResultMappingの名前。


returnsResultSet

(オプション)ストアド・プロシージャが結果セットを保持するかどうかを指定します。

このことは、ストアド・プロシージャからの結果セットがサポートされているデータベースにのみ適用されます。

false


使用方法

@NamedStoredProcedureQueryは、エンティティまたはMappedSuperclassに指定できます。

例2-74に、@NamedStoredProcedureQueryを使用してストアド・プロシージャを定義する方法を示します。

例2-74 @NamedStoredProcedureQuery注釈の使用

@NamedStoredProcedureQuery(name="findAllEmployees", procedureName="EMP_READ_ALL", resultClass=Employee.class, parameters={
    @StoredProcedureParameter(queryParameter="result", name="RESULT_CURSOR", direction=Direction.OUT_CURSOR})
@Entity
public class Employee {
 ...
}

例2-75に、eclipselink-orm.xmlファイルの<named-stored-procedure-query>要素を使用する方法を示します。

例2-75 <named-stored-procedure-query> XMLの使用

<named-stored-procedure-query name="SProcXMLInOut" result-class="Address" procedure-name="SProc_Read_XMLInOut">
    <parameter direction="IN_OUT" name="address_id_v" query-parameter="ADDRESS_ID" type="Long"/>
    <parameter direction="OUT" name="street_v" query-parameter="STREET" type="String"/>
</named-stored-procedure-query>

関連項目

詳細は、次を参照してください。