Rumah  >  Artikel  >  pangkalan data  >  Mengapa Lazy Blob Loading Gagal dalam Aplikasi Spring/Hibernate Saya?

Mengapa Lazy Blob Loading Gagal dalam Aplikasi Spring/Hibernate Saya?

Patricia Arquette
Patricia Arquetteasal
2024-11-03 03:09:29944semak imbas

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

Lazy Blob Loading in Spring, Hibernate

Dalam konteks aplikasi web anda, anda menghadapi masalah dengan lazy blob loading in Hibernate. Untuk menjelaskan masalah anda, rekod pangkalan data yang anda cuba paparkan pada halaman web ialah fail besar yang disimpan dalam MySQL.

Konfigurasi pangkalan data anda melibatkan MySQL, Tomcat, Spring dan Hibernate. Anda telah menentukan medan gumpalan malas dalam kelas entiti anda menggunakan anotasi @Lob, @Basic(fetch=FetchType.LAZY) dan @Column.

Walau bagaimanapun, walaupun menandakan medan gumpalan sebagai malas, anda tetap menghadapi OutOfMemoryError apabila volum data adalah luas. Anda juga telah mencuba menetapkan nilai nol dalam medan gumpalan untuk setiap baris, yang menyelesaikan isu memori, membawa anda percaya bahawa tingkah laku pemuatan malas tidak berfungsi seperti yang dimaksudkan.

Punca kekeliruan terletak pada maklumat bercanggah tersedia dalam talian. Walaupun sesetengah sumber menunjukkan bahawa medan @Lob sememangnya malas, yang lain mencadangkan bahawa memuatkan malas mungkin tidak berfungsi secara konsisten merentas semua pemacu dan pangkalan data.

Penyelesaian Potensi:

  • Gunakan pemetaan satu sama satu "palsu": Seperti yang dicadangkan dalam dokumentasi, anda boleh membuat kelas berasingan untuk medan LOB dan memetakannya sebagai satu sama satu dengan fetch="select" dan malas ="true" kepada entiti utama anda. Pendekatan ini memastikan bahawa medan LOB hanya dimuatkan apabila ia diminta secara eksplisit.
  • Cuba instrumentasi bytecode: Sesetengah pengguna telah melaporkan kejayaan dengan pustaka instrumentasi bytecode seperti Javaassist atau Cglib untuk pemuatan gumpalan malas .
  • Semak dokumentasi dan forum: Cari dengan teliti dokumentasi Hibernate dan Spring, serta forum dalam talian, untuk mendapatkan cerapan lanjut dan penyelesaian yang berpotensi untuk situasi khusus anda.

Atas ialah kandungan terperinci Mengapa Lazy Blob Loading Gagal dalam Aplikasi Spring/Hibernate Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn