Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/Examples/JPA/StoredProcedures"
< EclipseLink | Examples | JPA
Line 8: | Line 8: | ||
* Dynamic definition support using [http://www.eclipse.org/eclipselink/api/2.2/org/eclipse/persistence/queries/StoredProcedureCall.html StoreProcedureCall] | * Dynamic definition support using [http://www.eclipse.org/eclipselink/api/2.2/org/eclipse/persistence/queries/StoredProcedureCall.html StoreProcedureCall] | ||
* Stored function support using [http://www.eclipse.org/eclipselink/api/2.2/org/eclipse/persistence/queries/StoredFunctionCall.html StoredFunctionCall] | * Stored function support using [http://www.eclipse.org/eclipselink/api/2.2/org/eclipse/persistence/queries/StoredFunctionCall.html StoredFunctionCall] | ||
− | * Object-relational data-types, Struct, Array (OBJECT types, VARRAY), including mapping using [http://www.eclipse.org/eclipselink/api/2.2/org/eclipse/persistence/ | + | * Object-relational data-types, Struct, Array (OBJECT types, VARRAY), including mapping using [http://www.eclipse.org/eclipselink/api/2.2/org/eclipse/persistence/mappings/structures/ObjectRelationalDataTypeDescriptor.html ObjectRelationalDataTypeDescriptor] |
* PLSQL types, BOOLEAN, RECORD, TABLE, using [http://www.eclipse.org/eclipselink/api/2.2/org/eclipse/persistence/platform/oralce/PLSQLStoredProcedureCall.html PLSQLStoredProcedureCall] | * PLSQL types, BOOLEAN, RECORD, TABLE, using [http://www.eclipse.org/eclipselink/api/2.2/org/eclipse/persistence/platform/oralce/PLSQLStoredProcedureCall.html PLSQLStoredProcedureCall] | ||
Revision as of 11:07, 1 February 2011
EclipseLink has extended support for stored procedure execution including:
- IN, OUT and INOUT parameter support
- CURSOR output parameter support
- Result set support
- Annotation support using @NamedStoredProcedureQuery
- Dynamic definition support using StoreProcedureCall
- Stored function support using StoredFunctionCall
- Object-relational data-types, Struct, Array (OBJECT types, VARRAY), including mapping using ObjectRelationalDataTypeDescriptor
- PLSQL types, BOOLEAN, RECORD, TABLE, using PLSQLStoredProcedureCall
A stored procedure call be used in any query to read objects, or read or modify raw data.
Any CRUD or mapping operation can also be overridden using a stored procedure call using a DescriptorCustomizer and the DescriptorQueryManager API.
Oracle stored procedure using OUT CURSOR
Using JpaEntityManager createQuery() API to execute a stored procedure
import javax.persistence.Query; import org.eclipse.persistence.queries.StoredProcedureCall; import org.eclipse.persistence.queries.ReadAllQuery; ReadAllQuery databaseQuery = new ReadAllQuery(Employee.class); StoredProcedureCall call = new StoredProcedureCall(); databaseQuery.setCall(call); Query query = ((JpaEntityManager)entityManager.getDelegate()).createQuery(databaseQuery); List<Employee> result = query.getResultList();
Using @NamedStoredProcedureQuery to define a stored procedure
@NamedStoredProcedureQuery @Entity public class Employee { ... }