var q = session.GetNamedQuery(queryTempTable);//调用存储过程
NH映射文件配置:
<sql-query name="sp_Union_Query_pay">
<query-param name="specForBackPay" type="NHibernateUtil.StringClob"/>
<query-param name="specForBusinessPay" type="NHibernateUtil.StringClob"/>
<query-param name="specForBusinessReturn" type="NHibernateUtil.StringClob" />
<query-param name="specForRemiburse" type="NHibernateUtil.StringClob"/>
<query-param name="specForManageAcccounts" type="NHibernateUtil.StringClob"/>
<query-param name="specForOrderBy" type="NHibernateUtil.StringClob"/>
exec sp_Union_Query_pay :temptableName,:specForBackPay,:specForBusinessPay,:specForBusinessReturn,:specForRemiburse,:specForManageAcccounts,:specForOrderBy,:limit,:start
</sql-query>
<sql-query name="sp_Union_Query">
<query-param name="createTempSql" type="NHibernateUtil.StringClob"/>
exec sp_Union_Query :createTempSql,:temptableName,:start,:limit
</sql-query>
<query name="HqlForSaleInvoiceReportCount">
select count(*)
from AAccountToBusinessPayment p where p.CreatedAt In(select max(p.CreatedAt) from AAccountToBusinessPayment as p where p.Salesman.Id=:Id
group by p.Human.Id,p.AccountUnit.Id)
</query>