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
http://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch13.html#sp_query
For Oracle the following rules apply:
- A function must return a result set. The first parameter of a procedure must be an
OUT
that returns a result set. This is done by using aSYS_REFCURSOR
type in Oracle 9 or 10. In Oracle you need to define aREF CURSOR
type. 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.
Comments