Spring 和Hibernate 中的延遲載入Blob 欄位
處理資料庫表中的大型二進位資料(BLOB) 時,優化它們非常重要檢索以避免效能問題和記憶體消耗。一種方法是使用延遲加載,它允許僅在需要時檢索資料。然而,這種技術有時會給 Hibernate 和 Spring 帶來挑戰。
在您的情況下,您已經配置了資料庫、Spring bean 和實體類,如下所示:
資料庫配置(相關部分):
實體類別(相關註解):
@Lob
@Basic(fetch = FetchType.LAZY)
@Column(name = "BlobField", columnDefinition = "LONGBLOB")
@Type(type = "org.springframework.orm.hibernate3.support.BlobByteArrayType")
private byte[] blobField;
儘管將 blobField 標記為惰性字段,但在檢索大量資料時您仍會遇到 OutOfMemoryError。這表明延遲載入機制的行為不符合預期。
根據文件和使用者體驗,以下是一些可能影響BLOB 延遲載入的因素:
要解決您的問題,請考慮以下步驟:
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3