Трябва да използвате най-новата версия на NHibernate (2.1.2).
<sql-query name="ReturnSomethig" callable="true">
<return class="Somethig" />
{ call ReturnSomethig(:someParameter) }
</sql-query>
Съхранената процедура на Oracle трябва да има първия параметър като изходящ параметър sys_refcursor.
И можете да извикате назованата заявка така:
IQuery query = currentSession.GetNamedQuery("ReturnSomethig");
query.SetInt64("someParameter", someParameter);
var somethig = query.List<Somethig>();
И ще работи.