Hibernate 调用存储过程返回列表
Hibernate 调用存储过程返回列表
1、使用存储过程
(1)建立程序包
Sql代码- CREATE OR REPLACE PACKAGE TESTPACKAGE AS
- TYPE Test_CURSOR IS REF CURSOR;
- end TESTPACKAGE;
- CREATE OR REPLACE PROCEDURE TESTC(p_CURSOR out TESTPACKAGE.Test_CURSOR) IS
- BEGIN
- OPEN p_CURSOR FOR SELECT * FROM testTable;
- END TESTC;
- CREATE OR REPLACE FUNCTION seletall
- RETURN SYS_REFCURSOR
- AS
- test_cur SYS_REFCURSOR;
- BEGIN
- OPEN test_cur for
- select * from emp;
- return test_cur;
- END;
3、hibernate配置
Xml代码- <class name="Emp" table="emp">
- <id name="id" column="id">
- <generator class="native"/>
- </id>
- <property name="name" column="name" type="string" />
- <property name="age" column="age" type="integer" />
- </class>
- <sql-query name="getEmp" callable="true">
- <return alias="emp" class="Emp">
- <return-property name="id" column="id" />
- <return-property name="name" column="name" />
- <return-property name="age" column="age" />
- </return>
- {call proc()}
- </sql-query>
4、JAVA代码
Java代码
- Session ss= HibernateSessionFactory.getSession()
- List li=ss.getNamedQuery("getEmp").list();
- ss.close();
评论暂时关闭