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