Gambaran Keseluruhan
Strategi Sesi Terbuka Hibernate dalam Paparan (OSIV) disertakan dengan beberapa kelemahan, terutamanya dalam persekitaran berbilang JVM dan apabila transaksi segera dilakukan diingini. Walaupun kemudahan yang ditawarkannya dalam aplikasi JVM tunggal, pakar menasihatkan agar tidak menggunakannya.
Isu dengan OSIV
Kebimbangan utama OSIV berpunca daripada pendekatan yang tidak lazim terhadap pengambilan data. Ia memastikan Konteks Kegigihan terbuka semasa pemaparan UI, membolehkan perkaitan malas dimulakan atas permintaan. Ini membawa kepada pelbagai kelemahan:
Mengelakkan LazyLoadExceptions
Daripada bergantung pada OSIV, strategi alternatif boleh digunakan untuk mencegah LazyLoadExceptions:
Melumpuhkan OSIV dalam But Spring
Dalam But Spring, OSIV didayakan secara lalai. Untuk melumpuhkannya, tambahkan baris berikut pada fail application.properties:
spring.jpa.open-in-view=false
Ini melumpuhkan OSIV, membenarkan pembangun mengendalikan LazyLoadExceptions dengan cara yang lebih sesuai.
Atas ialah kandungan terperinci Patutkah Saya Menggunakan Sesi Terbuka Hibernate dalam Strategi Paparan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!