Rumah >Java >javaTutorial >Bagaimana untuk Menyelesaikan MultipleBagFetchException Hibernate Semasa Penciptaan SessionFactory?
MultipleBagFetchException semasa Hibernate SessionFactory Creation
Apabila menghadapi "MultipleBagFetchException: tidak boleh mengambil beberapa beg secara serentak" pengecualian semasa SessionFactory entiti tersebut terlibat.
Dalam contoh yang disediakan, Ibu Bapa mengandungi hubungan OneToMany dengan kanak-kanak Kanak-kanak. Di samping itu, senarai anak-anak ibu bapa diambil dengan sabar. Walau bagaimanapun, apabila menyertakan entiti "ibu bapa" lain AnotherParent ke dalam Induk, ralat timbul disebabkan kehadiran dua koleksi yang diambil dengan penuh semangat.
Untuk menyelesaikan isu ini, bukannya menggunakan FetchType.EAGER, pertimbangkan untuk menganotasi medan koleksi dengan @LazyCollection(LazyCollectionOption.FALSE). Pendekatan ini mengelakkan pengambilan koleksi yang tidak sabar-sabar dan menghapuskan pengecualian.
Perlu diperhatikan bahawa dalam kebanyakan kes, Set
Walaupun penyelesaian ini menangani pengecualian, adalah penting untuk meneruskan dengan berhati-hati. Menggunakan Set sahaja tidak menghapuskan sepenuhnya potensi untuk Produk Cartesian, seperti yang diterangkan oleh Vlad Mihalcea dalam respons mereka yang dilabelkan sebagai "Penyelesaian terburuk."
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan MultipleBagFetchException Hibernate Semasa Penciptaan SessionFactory?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!