使用Hibernate模板调用存储过程

时间:2023-03-09 00:34:30
使用Hibernate模板调用存储过程

前提是该Dao类已经已经继承了org.springframework.orm.hibernate5.support.HibernateDaoSupport,并且在整个项目中已经配置好了事务,或者是手动管理事务

本次采用的是将事务交给Spring管理

try {
// 通过模板获取session
Session session = this.getHibernateTemplate().getSessionFactory().openSession();
// 获取
SQLQuery query = session.createSQLQuery("select nextval_safe(?) as current"); query.setString(0,"DOCID");
List<Integer> list = query.list(); if(list != null && list.size() >= 0){
return list.get(0)+"";
} } catch (HibernateException e) {
e.printStackTrace();
}

关于openSession()与getCurrentSession()区别,当时参考的博客为:

http://www.cnblogs.com/Laupaul/archive/2012/02/09/2344414.html