來自 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