Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @NamedNativeQuery(
- name = "MyEntity.storedProc",
- query = "call ENTITY_PKG.StoredProc(:inputOne, :inputTwo, :resultSet)",
- callable = true,
- readOnly = true,
- resultClass = MyEntity.class
- )
- @NamedStoredProcedureQuery(
- name = "MyEntity.storedProc",
- procedureName = "ENTITY_PKG.StoredProc",
- resultClasses = MyEntity.class,
- parameters = {
- @StoredProcedureParameter(name = "I_INPUT_ONE", type = String.class, mode = ParameterMode.IN),
- @StoredProcedureParameter(name = "I_INPUT_TWO", type = Character.class, mode = ParameterMode.IN),
- @StoredProcedureParameter(name = "O_CURSOR", type = void.class, mode = ParameterMode.REF_CURSOR)
- }
- )
- Caused by: java.lang.UnsupportedOperationException: org.hibernate.dialect.Oracle10gDialect does not support resultsets via stored procedures
- at org.hibernate.dialect.Dialect.registerResultSetOutParameter(Dialect.java:1612)
- at org.hibernate.engine.jdbc.cursor.internal.StandardRefCursorSupport.registerRefCursorParameter(StandardRefCursorSupport.java:94)
- at org.hibernate.procedure.internal.AbstractParameterRegistrationImpl.prepare(AbstractParameterRegistrationImpl.java:298)
- at org.hibernate.procedure.internal.ProcedureCallImpl.buildOutputs(ProcedureCallImpl.java:417)
- at org.hibernate.procedure.internal.ProcedureCallImpl.getOutputs(ProcedureCallImpl.java:378)
- at org.hibernate.jpa.internal.StoredProcedureQueryImpl.outputs(StoredProcedureQueryImpl.java:251)
- at org.hibernate.jpa.internal.StoredProcedureQueryImpl.execute(StoredProcedureQueryImpl.java:234)
- at com.example.MyEntityDao.testStoredProc(MyEntityDao.java:88)
- StoredProcedureQuery query = entityManager
- .createNamedStoredProcedureQuery("MyEntity.storedProc");
- query.setParameter("I_INPUT_ONE", "inputOneValue");
- query.setParameter("I_INPUT_TWO", 'x');
- query.execute(); // exception is triggered by query.execute()
- MyEntity myEntity = (MyEntity) query.getOutputParameterValue("O_CURSOR");
- <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />
- CREATE OR REPLACE PACKAGE ENTITY_PKG IS
- TYPE EntityCursor IS REF CURSOR;
- PROCEDURE StoredProc
- (
- I_INPUT_ONE IN ENTITIES.INPUT_ONE%TYPE, -- VARCHAR2
- I_INPUT_TWO IN ENTITIES.INPUT_TWO%TYPE, -- CHAR
- O_CURSOR OUT EntityCursor
- );
- END ENTITY_PKG;
- sp.registerStoredProcedureParameter("an_stud_new_id", String.class, ParameterMode.IN);
- sp.registerStoredProcedureParameter("an_stud_merge_id", String.class, ParameterMode.IN);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement