Bạn phải sử dụng phiên bản mới nhất của NHibernate (2.1.2).
<sql-query name="ReturnSomethig" callable="true">
<return class="Somethig" />
{ call ReturnSomethig(:someParameter) }
</sql-query>
Thủ tục lưu trữ Oracle cần có tham số đầu tiên là tham số ra sys_refcursor.
Và bạn có thể gọi truy vấn được đặt tên như vậy:
IQuery query = currentSession.GetNamedQuery("ReturnSomethig");
query.SetInt64("someParameter", someParameter);
var somethig = query.List<Somethig>();
Và nó sẽ hoạt động.