Struktur database adalah sebagai berikut
Ada Anggota Kunci Asing (Tabel Anggota Terkait) dalam Strategi, Strategi Kunci Asing, Kategori (Tabel Kategori Terkait) dan Kunci Asing Position_ID (Tabel Positon Terkait) di tabel anggota
Jika halaman meja depan secara langsung menanyakan isi tabel stategy, pernyataan HQL kami akan ditulis seperti ini
Stringhql = "fromstrategywhereid =: id";
Konsol akan melaporkan kesalahan nosesesi. Ini karena Hibernate malas memuat secara default. Hanya ketika kita perlu memuat objek yang terkait, objek terkait akan dimuat. Di sini, ketika sesi telah ditutup, sesi akan dilaporkan.
Jadi bagaimana menyelesaikannya
Di sini disarankan untuk menggunakan LeftjoinFetch untuk memuat objek alih -alih mengubah beban malas default dalam anotasi menjadi pemuatan mendesak, yang akan sangat efisien.
Pernyataannya adalah sebagai berikut
StrategyStrategy = (strategi) sessionfactoryutil.getSession (). Createqueery ("fromstrategysleftjOnfetchs.strategyCategoryleftjOnfetchs.memberleftjoINFetchs.memberleftjoInfetchs.member.positionswheres.id =: id"). Setinteger ("id", id).Apa yang perlu Anda perhatikan di sini adalah bahwa karena tabel anggota terkait dikaitkan dengan tabel posisi, itu perlu dimuat bersama. Hal lain yang perlu Anda perhatikan adalah bahwa S.ID di sini harus ditulis seperti ini karena nama kunci utama dari setiap tabel di sini adalah ID. Jika tidak ditentukan, sistem tidak dapat diidentifikasi.
Meringkaskan
Di atas adalah semua tentang artikel ini yang membahas masalah pemuatan mendesak hibernate (banyak asosiasi kunci asing). Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!