JPA懶載入失敗問題解決

2021-09-07 19:27:36 字數 484 閱讀 2451

在使用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...