Advertisement
Guest User

Untitled

a guest
Apr 17th, 2014
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. @NamedNativeQuery(
  2. name = "MyEntity.storedProc",
  3. query = "call ENTITY_PKG.StoredProc(:inputOne, :inputTwo, :resultSet)",
  4. callable = true,
  5. readOnly = true,
  6. resultClass = MyEntity.class
  7. )
  8.  
  9. @NamedStoredProcedureQuery(
  10. name = "MyEntity.storedProc",
  11. procedureName = "ENTITY_PKG.StoredProc",
  12. resultClasses = MyEntity.class,
  13. parameters = {
  14. @StoredProcedureParameter(name = "I_INPUT_ONE", type = String.class, mode = ParameterMode.IN),
  15. @StoredProcedureParameter(name = "I_INPUT_TWO", type = Character.class, mode = ParameterMode.IN),
  16. @StoredProcedureParameter(name = "O_CURSOR", type = void.class, mode = ParameterMode.REF_CURSOR)
  17. }
  18. )
  19.  
  20. Caused by: java.lang.UnsupportedOperationException: org.hibernate.dialect.Oracle10gDialect does not support resultsets via stored procedures
  21. at org.hibernate.dialect.Dialect.registerResultSetOutParameter(Dialect.java:1612)
  22. at org.hibernate.engine.jdbc.cursor.internal.StandardRefCursorSupport.registerRefCursorParameter(StandardRefCursorSupport.java:94)
  23. at org.hibernate.procedure.internal.AbstractParameterRegistrationImpl.prepare(AbstractParameterRegistrationImpl.java:298)
  24. at org.hibernate.procedure.internal.ProcedureCallImpl.buildOutputs(ProcedureCallImpl.java:417)
  25. at org.hibernate.procedure.internal.ProcedureCallImpl.getOutputs(ProcedureCallImpl.java:378)
  26. at org.hibernate.jpa.internal.StoredProcedureQueryImpl.outputs(StoredProcedureQueryImpl.java:251)
  27. at org.hibernate.jpa.internal.StoredProcedureQueryImpl.execute(StoredProcedureQueryImpl.java:234)
  28. at com.example.MyEntityDao.testStoredProc(MyEntityDao.java:88)
  29.  
  30. StoredProcedureQuery query = entityManager
  31. .createNamedStoredProcedureQuery("MyEntity.storedProc");
  32.  
  33. query.setParameter("I_INPUT_ONE", "inputOneValue");
  34. query.setParameter("I_INPUT_TWO", 'x');
  35. query.execute(); // exception is triggered by query.execute()
  36.  
  37. MyEntity myEntity = (MyEntity) query.getOutputParameterValue("O_CURSOR");
  38.  
  39. <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />
  40.  
  41. CREATE OR REPLACE PACKAGE ENTITY_PKG IS
  42. TYPE EntityCursor IS REF CURSOR;
  43.  
  44. PROCEDURE StoredProc
  45. (
  46. I_INPUT_ONE IN ENTITIES.INPUT_ONE%TYPE, -- VARCHAR2
  47. I_INPUT_TWO IN ENTITIES.INPUT_TWO%TYPE, -- CHAR
  48. O_CURSOR OUT EntityCursor
  49. );
  50.  
  51. END ENTITY_PKG;
  52.  
  53. sp.registerStoredProcedureParameter("an_stud_new_id", String.class, ParameterMode.IN);
  54. sp.registerStoredProcedureParameter("an_stud_merge_id", String.class, ParameterMode.IN);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement