Vous devez utiliser la dernière version de NHibernate (2.1.2).
<sql-query name="ReturnSomethig" callable="true">
<return class="Somethig" />
{ call ReturnSomethig(:someParameter) }
</sql-query>
La procédure stockée Oracle doit avoir le premier paramètre en tant que paramètre out sys_refcursor.
Et vous pouvez appeler la requête nommée comme ça :
IQuery query = currentSession.GetNamedQuery("ReturnSomethig");
query.SetInt64("someParameter", someParameter);
var somethig = query.List<Somethig>();
Et ça marchera.