天天看點

【異常處理】org.hibernate.LazyInitializationException: could not initialize proxy - no Session

在jsp頁面使用${c.teacher.name}時出現org.hibernate.LazyInitializationException: could not initialize proxy - no Session異常

**出錯原因:**在hibernate設定延遲加載後,hibernate傳回給我們的對象(要延遲加載的對象)是一個代理對象,并不是真實的對象,該對象沒有真實對象的資料,隻有真正需要用到對象資料(調用getter等方法時)時,才會觸發hibernate去資料庫查對應資料,而且查回來的資料不會存儲在代理對象中,是以這些資料是無法在調試視窗檢視到的。

我在action中查詢完資料後把session關閉了,同時在映射配置檔案中并沒有設定立即加載(即在<many-to-one>或者<set>中設定

lazy="false"

屬性)

**解決方案:**可以将配置檔案中teacher的lazy屬性設定為false或者不要關閉session

繼續閱讀