Sie müssen die neueste Version von NHibernate (2.1.2) verwenden.
<sql-query name="ReturnSomethig" callable="true">
<return class="Somethig" />
{ call ReturnSomethig(:someParameter) }
</sql-query>
Die gespeicherte Oracle-Prozedur muss den ersten Parameter als einen sys_refcursor-Ausgangsparameter haben.
Und Sie können die benannte Abfrage so aufrufen:
IQuery query = currentSession.GetNamedQuery("ReturnSomethig");
query.SetInt64("someParameter", someParameter);
var somethig = query.List<Somethig>();
Und es wird funktionieren.