在使用jpa或者hibernate的時候,我們經常用懶載入來提高訪問效率,例如:
class a
a物件中懶載入b物件。
典型的使用場景:
a a = repository.finda(...);
...setobjbs = a.getobjbs();
此時可能出現以下錯誤:
org.hibernate.lazyinitializationexception: failed to lazily initialize a collection of objbs: could not initialize proxy - no session
錯誤原因猜想是從資料庫中查詢回來a以後,session提交了,然後去獲取b列表的時候是乙個新的session,這個session的a裡面找不到b的列表。
解決方法:將**段2放在乙個transaction裡面即可解決。
Hibernate懶載入問題解決
解決hibernate could not initialize proxy no session 出現的問題 不能初始化,沒有session session關閉 在hibernate中,中的lazy預設為proxy,這樣hibernate在資料庫中查詢資料時不會把關聯的物件查出來,而是儲存乙個獲取...
嘗試解決JPA懶載入異常問題(wildfly)
之前在jpa hibernate jsf cdi的專案中老是遇到懶載入異常問題,解決辦法要不就是修改查詢語句,要不就是改為eager。先看一下org.hibernate.collection.internal.abstractpersistentcollection的 丟擲懶載入異常的原因在這裡 i...
Mysql啟動失敗問題解決
一 問題描述 root localhost service mysqld start another mysql daemon already running with the same unix socket.正在啟動 mysqld 失敗 二 解決方法 rm var lib mysql mysql...