情況爲:使用 getCurrentSession()方法(且配置了Session的生命週期與線程綁定)獲取Session進行操作時,出現 Session is closed 異常,但使用openSession()方法沒問題。
詳細代碼情況和異常如下:
解決:
查完資料後得知:使用getCurrentSession()方法,進行事務提交(commit()方法)後,Hibernate框架會自動把Session緩存中的內容清空,並關閉。所以此時不需要再手動自行關閉,將 session.close()註釋掉即可。