Use @NamedPLSQLStoredProcedureQuery to define queries that call Oracle PLSQL stored procedures as named queries
Table 2-37 describes this annotation's elements.
Table 2-37 @NamedPLSQLStoredProcedureQuery Annotation Elements
| Annotation Element | Description | Default |
|---|---|---|
|
|
(Required) The name of the stored procedure. |
|
|
|
(Required) The unique name that references this stored procedure query. |
|
|
|
(Optional) The class of the result. |
|
|
|
(Optional) Query hints |
|
|
|
(Optional) The parameters for the stored procedure. |
|
|
|
(Optional) The name of the |
This annotation adds support for complex PLSQL types such as RECORD and TABLE, that are not accessible from JDBC.
You can specify @NamedPLSQLStoredProcedureQuery on an Entity, Embeddable, or MappedSuperclass.
Example 2-69 shows how to use this annotation.
Example 2-69 Using @NamedPLSQLStoredProcedureQuery Annotation
@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 { ...}
For more information, see:
"Stored Procedures" in Understanding Oracle TopLink
Oracle PL/SQL
http://www.oracle.com/technetwork/database/features/plsql/index.html