Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
![]() 前 |
![]() 次 |
@NamedPLSQLStoredProcedureQuery
を使用して、名前付き問合せとしてOracle PLSQLストアド・プロシージャをコールする問合せを定義します。
注釈要素
表2-37は、この注釈の要素を示しています。
表2-37 @NamedPLSQLStoredProcedureQueryの注釈要素
注釈要素 | 説明 | デフォルト |
---|---|---|
|
(必須)ストアド・プロシージャの名前 |
|
|
(必須)このストアド・プロシージャ問合せを参照する一意の名前 |
|
|
(オプション)結果のクラス |
|
|
(オプション)問合せヒント |
|
|
(オプション)ストアド・プロシージャのパラメータ |
|
|
(オプション) |
使用方法
この注釈は、JDBCからアクセスできないRECORD
およびTABLE
などの複合PLSQLタイプのサポートを追加します。
@NamedPLSQLStoredProcedureQuery
は、エンティティ、埋込み可能またはMappedSuperclassに指定できます。
例
例2-69に、この注釈を使用する方法を示します。
例2-69 @NamedPLSQLStoredProcedureQuery注釈の使用
@NamedPLSQLStoredProcedureQuery( name="getEmployee", functionName="EMP_PKG.GET_EMP", parameters={ @PLSQLParameter( name="EMP_OUT", direction=Direction.OUT, databaseType="EMP_PKG.EMP_REC" ) } ) @Embeddable @Struct(name="EMP_TYPE", fields={"F_NAME", "L_NAME", "SALARY"}) @PLSQLRecord( name="EMP_PKG.EMP_REC", compatibleType="EMP_TYPE", javaType=Employee.class, fields={ @PLSQLParameter(name="F_NAME"), @PLSQLParameter(name="L_NAME"), @PLSQLParameter( name="SALARY", databaseType="NUMERIC_TYPE" ) } ) public class Employee { ...}
関連項目
詳細は、次を参照してください。
『Oracle TopLinkの理解』のストアド・プロシージャに関する項
Oracle PL/SQL
http://www.oracle.com/technetwork/database/features/plsql/index.html