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