| 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