遇到這個問題之前,我去百度和谷歌去搜索了一下,發現各種說法,但是針對我的項目而言,也就是公司的項目而言,這個問題的根源並非是網上所說的那樣。
最後是通過自己的想法做測試得到了解決。
1.首先說說我的配置吧!我的配置是通過spring自帶的註解來實現 聲明式事物管理的。如果我們沒去了解spring的聲明式事物管理的話,或許我們是得不出什麼結論的。
如果你配置過聲明式事物管理,你就知道spring是怎麼幫你管理的。
2.spring聲明式事物管理是在service層管理的,關於到sessionFactory.getCurrentSession()的使用時,是具備有tx(Transactional),所有我們必須在service層中進行@Transactional註解,而不可以再dao層或者其他層進行事物的管理,這也是使用註解方式的聲明式事物管理的缺點。
3.spring默認的聲明式事物管理的是在service層中(註解方式),如果你採用xml方式進行聲明式事物管理的話,可以配置你先要聲明式事物管理的形態。