Dalam Hibernate, anotasi @Lob digunakan untuk menentukan sifat berterusan yang mengandungi objek besar, seperti BLOB atau CLOB. Secara lalai, sifat @Lob diambil secara malas, bermakna ia hanya diambil daripada pangkalan data apabila ia sebenarnya diakses dalam kod.
Pemuatan sifat @Lob yang malas boleh membantu meningkatkan prestasi dengan mengurangkan jumlah data yang dimuatkan ke dalam ingatan apabila objek diambil daripada pangkalan data. Walau bagaimanapun, dalam beberapa kes, pemuatan malas sifat @Lob boleh membawa kepada pengecualian OutOfMemoryError, terutamanya apabila sifat @Lob mengandungi sejumlah besar data.
Satu penyelesaian yang mungkin untuk isu ini ialah menggunakan "palsu" pemetaan satu dengan satu dan bukannya sifat @Lob. Ini melibatkan penciptaan kelas baharu yang merujuk jadual dan kunci utama yang sama seperti kelas asal, tetapi hanya mengandungi sifat @Lob sebagai harta. Pemetaan antara kedua-dua kelas ditentukan sebagai pemetaan satu sama satu dengan fetch="select" dan lazy="true".
Dengan menggunakan pemetaan satu sama satu "palsu", @ Sifat Lob hanya akan diambil daripada pangkalan data apabila ia sebenarnya diakses dalam kod, yang boleh membantu meningkatkan prestasi dan mengelakkan pengecualian OutOfMemoryError.
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangani @Lob Lazy Loading dan OutOfMemoryErrors dalam Spring dan Hibernate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!