存储过程可以实现非一句话能解决的复杂的SQL查询或其他DML语句,统一使用如下流程: | ||||||
1.在数据库中定义好存储过程 | ||||||
2.在.hbm.xml中注册定义好的存储过程 | ||||||
<sql-query name="" callable="true"> | ||||||
<return alias="" class=""> | ||||||
<return-property name="" column="">/return-property> | ||||||
… | ||||||
</return> | ||||||
{call YOURPROCEDURE(:YOURPARAMETER)} | ||||||
</sql-query> | ||||||
3.使用下列语法调用注册过的存储过程 | ||||||
session.beginTransaction(); | ||||||
Query q=session.getNamedQuery("YOURPROCEDURE"); | ||||||
q.setString("PARAMETER", VALUE); |