Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle Stored Procedure sem parâmetro out usando Nhibernate


Você tem que usar a versão mais recente do NHibernate (2.1.2).
<sql-query name="ReturnSomethig" callable="true">
   <return class="Somethig" />
   { call ReturnSomethig(:someParameter) }
</sql-query>

O procedimento armazenado do Oracle precisa ter o primeiro parâmetro como um parâmetro sys_refcursor de saída.

E você pode chamar a consulta nomeada assim:
IQuery query = currentSession.GetNamedQuery("ReturnSomethig");
query.SetInt64("someParameter", someParameter);
var somethig = query.List<Somethig>();

E vai funcionar.