spring4+springmvc+hibernate4 demo

來自 CSDN  。html

 

其實下面的更好:加入了maven集成。Spring4 MVC Hibernate4集成spring

下面也是一篇講的很詳細的文章: hibernate4沒法保存數據sql

而本身遇到的hibernate的getcurrentsession.save() 沒法保存數據的問題,終於在這裏找到了解答:數據庫

「  1、從你的文件來看,你應該是使用了spring;
    二、你說用getHibernateTemplate().save(o)能夠成功,而getSession.save(o)卻不行。有理由懷疑你是在spring的配置文件中配置了事務,而getHibernateTemplate()是Spring的方法,支持聲明式事務管理,因此若是你配置了事務,它會自動調用事務並在操做完畢後自動關閉session;而單獨的getSession()卻與spring沒有關係,它是由hibernate控制的,並不支持聲明式事務管理,因此你必須調用session.flush()或transaction.commit()才能夠成功保存。」緩存

 

「調用完成save後,只是將數據歸入到了session的管理中,不會發出insert語句,session中existsInDatebase狀態爲false。
 
session.save(buyer);

調用flush,hibernate會清理緩存,執行sql,若是數據庫的隔離級別設置爲爲提交讀,那麼咱們能夠看到flush過的數據,而且session中existsInDatebase狀態爲true。

session.flush();

提交事務,默認狀況下commit操做會先執行flush清理緩存,因此不用顯示的調用flush。
  
tx.commit(); 」session

相關文章
相關標籤/搜索