首頁 > 資料庫 > mysql教程 > 為什麼我的 Spring/Hibernate 應用程式中的延遲 Blob 載入失敗?

為什麼我的 Spring/Hibernate 應用程式中的延遲 Blob 載入失敗?

Patricia Arquette
發布: 2024-11-03 03:09:29
原創
978 人瀏覽過

Why is Lazy Blob Loading Failing in My Spring/Hibernate Application?

Spring、Hibernate 中的延遲Blob 載入

在您的Web 應用程式的上下文中,您面臨著延遲Blob 載入的問題冬眠。為了澄清您的問題,您嘗試在網頁上顯示的資料庫記錄是儲存在 MySQL 中的大檔案。

您的資料庫配置涉及 MySQL、Tomcat、Spring 和 Hibernate。您已使用 @Lob、@Basic(fetch=FetchType.LAZY) 和 @Column 註解在實體類別中定義了惰性 blob 欄位。

但是,儘管將 blob 欄位標記為惰性,您還是當資料量很大時遇到OutOfMemoryError。您也嘗試在每行的 blob 欄位中設定 null 值,這解決了記憶體問題,導致您相信延遲載入行為未如預期運作。

混亂的根源在於網路上提供的相互矛盾的資訊。雖然一些消息來源表明@Lob字段本質上是惰性的,但其他消息來源表明延遲加載可能無法在所有驅動程式和資料庫中一致地工作。

潛在的解決方案:

  • 使用「假」一對一映射:按照文件中的建議,您可以為LOB 欄位建立單獨的類,並使用fetch="select" 和惰性將它們對應為一對一為您的主要實體設為「true」。這種方法確保 LOB 欄位僅在明確請求時才載入。
  • 嘗試字節碼檢測:一些用戶報告使用Javaassist 或Cglib 等字節碼檢測庫成功實現了延遲blob 加載.
  • 查看文檔和論壇:徹底搜尋Hibernate 和Spring 文件以及線上論壇,以獲得針對您的具體情況的進一步見解和潛在解決方案。

以上是為什麼我的 Spring/Hibernate 應用程式中的延遲 Blob 載入失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板