у меня есть хранимая процедура в базе данных Oracle.
GET_VENDOR_STATUS_COUNT(DOCUMENT_ID IN NUMBER, NOT_INVITED OUT NUMBER, INVITE_WITHDRAWN OUT NUMBER, ...
Другие параметры являются параметрами OUT.
В моем файле hbm я написал следующее:
<sql-query name="getVendorStatus" callable="true">
<return-scalar column="NOT_INVITED" type="string"/>
<return-scalar column="INVITE_WITHDRAWN" type="string"/>
<return-scalar column="INVITED" type="string"/>
<return-scalar column="DISQUALIFIED" type="string"/>
<return-scalar column="RESPONSE_AWAITED" type="string"/>
<return-scalar column="RESPONSE_IN_PROGRESS" type="string"/>
<return-scalar column="RESPONSE_RECEIVED" type="string"/>
{ call GET_VENDOR_STATUS_COUNT(:DOCUMENT_ID , :NOT_INVITED ,:INVITE_WITHDRAWN ,:INVITED ,:DISQUALIFIED ,:RESPONSE_AWAITED ,:RESPONSE_IN_PROGRESS ,:RESPONSE_RECEIVED ) }
</sql-query>
А вот мой Java-код:
session.getNamedQuery("getVendorStatus").setParameter("DOCUMENT_ID", "DOCUMENT_ID").setParameter("NOT_INVITED", "NOT_INVITED")
... продолжайте до всех параметров.
Я получаю следующий SQL исключение:
18: 29: 33,056 ПРЕДУПРЕЖДЕНИЕ [JDBCExceptionReporter] Ошибка SQL: 1006, SQLState: 72000
18: 29: 33,056 ОШИБКА [JDBCExceptionReporter] ORA-01006: привязка переменная не существует
Дайте мне знать, каков точный процесс вызова хранимой процедуры в Hibernate? Я не хочу использовать вызываемый оператор JDBC.