读书人

hibernate 调用存储过程回到列表

发布时间: 2012-07-15 20:20:06 作者: rapoo

hibernate 调用存储过程返回列表

1、使用存储过程

???? (1)建立程序包

?

CREATE   OR   REPLACE   PACKAGE   TESTPACKAGE     AS  TYPE   Test_CURSOR   IS   REF   CURSOR;end   TESTPACKAGE; 

??? (2)建立存储过程

CREATE   OR   REPLACE   PROCEDURE   TESTC(p_CURSOR   out   TESTPACKAGE.Test_CURSOR)   IS  BEGIN        OPEN   p_CURSOR   FOR   SELECT   *   FROM   testTable;END   TESTC; 

?

2、使用FUNCTION

CREATE OR REPLACE FUNCTION  seletall    RETURN SYS_REFCURSORAS   test_cur SYS_REFCURSOR;BEGIN    OPEN test_cur for     select * from emp;     return test_cur;END;

?

?

3、hibernate配置

    <class name="Emp" table="emp">              <id name="id" column="id">                  <generator column="name" type="string" />              <property name="age" column="age" type="integer" />      </class>         <sql-query name="getEmp" callable="true">           <return alias="emp" column="id" />           <return-property name="name" column="name" />           <return-property name="age" column="age" />           </return>           {call proc()}         </sql-query>  

?

?

4、JAVA代码

?

    Session ss= HibernateSessionFactory.getSession()      List li=ss.getNamedQuery("getEmp").list();      ss.close();  
?

读书人网 >其他数据库

热点推荐