Home JBoss howto Hibernate How to call a stored procedure with Hibernate ?
30 | 07 | 2010
JBoss 5 AS Book
"JBoss AS 5 development" reviews
Please share your feedback/review with other readers!
Banner
Dashboard
Advertise with Us
Banner
RSS Feed
Java EE 1.6 resources
Login
Sign here for the NewsLetter.



JBoss admin resources
Banner
Java EE 1.6 resources
JBoss howto

How to avoid the 50 seconds start up limit in Eclipse ?

JBoss recipe of the day ...
Read More

How can you solve deployment errors caused by large war/jar/ear files ?

jboss recipe of the day ...
Read More

How do you configure your .war to be deployed after your EJB ?

jboss recipe of the day ...
Read More
How to call a stored procedure with Hibernate ?
Written by Mark S.   

JBoss recipe of the day

Supposing you have the following Oracle Stored procedure:

CREATE FUNCTION agenda RETURN SYS_REFCURSOR
AS 
    my_cursor SYS_REFCURSOR;
BEGIN
    OPEN my_cursor FOR
        SELECT id,person_name,person_surname,person_address
        FROM Person;
    RETURN  my_cursor;
 END;

Invoking it from Hibernate requires mapping the Stored Procedure in the Person class.
 

<sql-query name="SP_agenda" callable="true">
    <return alias="ev" class="Person">
        <return-property name="id" column="id"/>
        <return-property name="name" column="person_name"/>
        <return-property name="surname" column="person_surname"/>
        <return-property name="address" column="person_address"/>
    </return>
    { ? = call agenda() }
</sql-query>

Then, you can execute the procedure just like a normal Query:


Query query = session.getNamedQuery("SP_agenda");
List results = query.list();

JBoss.org Search
Custom Search
Comments
Search
Only registered users can write comments!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."