版本:spring4+struts2+hibernate4
1.ssh整合啟動tomcat遇到的問題 error creating bean with name 'org.springframework.transaction.interceptor.transa
解決:加入下面配置
注:如果框架中整合了struts2,此***應該在struts2的***前面
-->
opensession
org.springframework.orm.hibernate4.support.opensessioninviewfilter
3.could not initialize proxy - no session
原因:出現該錯誤的原因是hibernate使用sessionfactory來管理session,我們每進行一次資料庫操作時都會新建乙個session物件,當我們操作完成後,hibernate就會在dao層立即關閉該session。所以當我們操作類中另乙個類的具體屬性時,因為session已經關閉,就會報錯。
這是hibernate的懶載入策略,因為每一次查詢我們並不會使用到查詢物件關聯的所有物件,所有hibernate在查詢資料庫時並不會把類關聯的物件統一查出來。
第一種辦法:
最直接的辦法就是把hibernate的懶載入機制關閉,方法:
在對映檔案中多對一對映處寫 : lazy="false"
但是這種辦法不推薦,取消懶載入之後每次查詢用不用得到的物件都要載入出來,很影響效率。
第二種辦法:
不要hibernate去管理session,而是將session交給servlet filter來管理,每當接收乙個請求後就會開啟乙個session,只有當響應結束後才會關閉。
具體做法:
在web.xml中配置(放在最前面):
問題解決
筆記 ssh整合
4 配置hibernatetemplate 配置好的 hibernatetemplate不能用繼承,setsessionfactory所有的類是抽象類 所有只能把hibernatetemplate注入到dao中 解決的方法,自己寫乙個類daosupport繼承自hibernatetemplate 手...
SSH框架整合筆記
ssh框架整合jar包衝突問題 原因 因為hibernate和spring都要用到cglib.jar這個包,cglib.jar用的asm.jar和spring用的asm.jar本身就有衝突,hibernate兩個asm.jar都可以用 簡單來說就是hibernate和spring兩者用的asm.ja...
ssh整合之筆記
ssh 整合的時候在struts.xml中 administrator index.jsp addmenu.jsp 當設定的type為redirect的時候在action類中要使用session級別 map request map actioncontext.getcontext get sessi...