How to call a stored procedure with Hibernate ?

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();

กาลามสูตร

กาลามสูตร คือ พระสูตรที่พระพุทธเจ้าทรงแสดงแก่ชาวกาลามะ หมู่บ้านเกสปุตติยนิคม แคว้นโกศล (เรียกอีกอย่างว่า เกสปุตติยสูตร หรือเกสปุตตสูตร ก็มี[1]) กาลามสูตรเป็นหลักแห่งความเชื่อที่พระพุทธองค์ทรงวางไว้ให้แก่พุทธศาสนิกชน ไม่ให้เชื่อสิ่งใด ๆ อย่างงมงายโดยไม่ใช้ปัญญาพิจารณาให้เห็นจริงถึงคุณโทษหรือดีไม่ดีก่อนเชื่อ มีอยู่ 10 ประการ ได้แก่

  1. อย่าเพิ่งเชื่อตามที่ฟังๆ กันมา
  2. อย่าเพิ่งเชื่อตามที่ทำต่อๆ กันมา
  3. อย่าเพิ่งเชื่อตามคำเล่าลือ
  4. อย่าเพิ่งเชื่อโดยอ้างตำรา
  5. อย่าเพิ่งเชื่อโดยนึกเดา
  6. อย่าเพิ่งเชื่อโดยคาดคะเนเอา
  7. อย่าเพิ่งเชื่อโดยนึกคิดตามแนวเหตุผล
  8. อย่าเพิ่งเชื่อเพราะถูกกับทฤษฎีของตน
  9. อย่าเพิ่งเชื่อเพราะมีรูปลักษณ์ที่ควรเชื่อได้
  10. อย่าเพิ่งเชื่อเพราะผู้พูดเป็นครูบาอาจารย์ของตน


top