PR_procedure1(P_STR_ID VARCHAR2,O_DASH OUT TYPE_DASH_COLL )
--
--some data fetching BULK COLLECT INTO O_DASH
--
END
CREATE OR REPLACE TYPE TYPE_DASH AS OBJECT (
---- some columns
);
CREATE OR REPLACE TYPE TYPE_DASH_COLL FORCE AS TABLE OF TYPE_DASH;
Calling Above procedure from Hibernate
StoredProcedureQuery procedureCall = session.createStoredProcedureQuery("PR_procedure1");
StoredProcedureQuery registerStoredProcedureParameter = procedureCall.registerStoredProcedureParameter("P_STR_ID", String.class, ParameterMode.IN);
procedureCall.registerStoredProcedureParameter("O_DASH", SchemeTransactionsDashboardOutput.class, ParameterMode.OUT);
SchemeTransactionsDashboardOutput implements SQLData {}
Giving error as .
Caused by: java.lang.IllegalArgumentException: Type cannot be null
at org.hibernate.query.procedure.internal.ProcedureParameterImpl.setHibernateType(ProcedureParameterImpl.java:130)
When I use
procedureCall.registerStoredProcedureParameter("O_DASH", SchemeTransactionsDashboardOutput[].class, ParameterMode.OUT);
gives error as
Caused by: oracle.jdbc.OracleDatabaseException: ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call