使用Hibernate模板调用存储过程

时间:2021-09-26 04:27:59

前提是该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