从具有多个引用游标的Hibernate调用存储过程 [英] call a Stored Procedure from Hibernate having multiple ref cursor
本文介绍了从具有多个引用游标的Hibernate调用存储过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试从存储过程中检索值.该存储过程有两个引用游标.下面是SP:
I am trying to retrieve values from the Stored Procedure. This stored procedure has two ref cursors. Below is the SP:
create or replace PROCEDURE "EMP_JOB" (
p_job VARCHAR2,
p_emp_refcur IN OUT SYS_REFCURSOR,
p_sal_refcur IN OUT SYS_REFCURSOR
)
IS
BEGIN
OPEN p_emp_refcur FOR
SELECT empno, ename
FROM emp
WHERE job = p_job;
OPEN p_sal_refcur FOR
SELECT sal
FROM emp
WHERE job = p_job;
END;
这是我的Java代码:
Here is my java code:
StoredProcedureQuery query = entityManager.createStoredProcedureQuery("EMP_JOB")
.registerStoredProcedureParameter(1, String.class, ParameterMode.IN)
.registerStoredProcedureParameter(2, Class.class, ParameterMode.REF_CURSOR)
.registerStoredProcedureParameter(3, Class.class, ParameterMode.REF_CURSOR)
.setParameter(1, "CLERK");
query.execute();
Iterator queryIterator = query.getResultList().iterator();
ArrayList<Object> vinArray= new ArrayList<Object>();
while(queryIterator.hasNext()){
Object st= (Object)queryIterator.next();
vinArray.add(st);
}
我可以检索参数2(p_emp_refcur IN OUT SYS_REFCURSOR
)的输出.
I can retrieve the output for the parameter 2( p_emp_refcur IN OUT SYS_REFCURSOR
).
如何获取参数3(p_sal_refcur IN OUT SYS_REFCURSOR
)的输出.
How can I get the get the output for parameter 3( p_sal_refcur IN OUT SYS_REFCURSOR
).
任何帮助将不胜感激.
预先感谢
推荐答案
已提交给Hibernate团队的问题:
Issue already raised to Hibernate team:
https://hibernate.atlassian.net/browse/HHH-12596
这篇关于从具有多个引用游标的Hibernate调用存储过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文