Вызов хранимой процедуры из Hibernate с несколькими курсорами ref - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь получить значения из хранимой процедуры. Эта хранимая процедура имеет два курсора ссылки. Ниже приводится 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:

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).

Как мне получить выходные данные для параметра 3 (p_sal_refcur IN OUT SYS_REFCURSOR).

Любая помощь будет оценена.

Заранее спасибо

1 Ответ

0 голосов
/ 17 сентября 2018

Проблема уже поднята в команду Hibernate:

https://hibernate.atlassian.net/browse/HHH-12596

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...