I spent some days trying to call a Stored Procedure through Hibernate. I used CreateSQLQuery and I made my own custom transformer, but I could not get it work. I keep geeting Wrong Type and Parameter of procedure exception.
My procedure was like the following
procedure GET_BY_EMPLOYEE (
P_EMPLOYEE_ID in EMPLOYEE_ID%TYPE
, P_DATE_FROM in date
, P_DATE_TO in date
, P_REF out CURSORREFERENCETYPE);
After days of searching, I found this
For Oracle the following rules apply:
- A function must return a result set. The first parameter of a procedure must be an
OUTthat returns a result set. This is done by using a
SYS_REFCURSORtype in Oracle 9 or 10. In Oracle you need to define a
REF CURSORtype. See Oracle literature for further information.
So there is no way to get this procedure to work in hibernate. I will use a plain JDBCTemplate.