Penelitian utama dalam artikel ini adalah penutupan hibernate pada sesi, sebagai berikut.
Siswa Siswa = Siswa Baru (); student.setname ("Jan"); Student.setage ("22"); Student.setaddress ("Kota Zhaoqing, Provinsi Guangdong"); Sesi sesi = hibernateutil.getSessionFactory (). GetCurrentSession (); session.begintransaction (); session.save (siswa); session.flush (); session.getTransaction (). Commit (); 1. Apa perbedaan antara getCurrentsession () dan opensession ()?
getCurrentSession() akan terikat pada utas saat ini, sedangkan sesi yang dibuat dengan openSession() tidak akangetCurrentSession() akan ditutup secara otomatis saat berkomitmen atau rollback, sedangkan sesi yang dibuat dengan openSession() harus ditutup secara manual. 2. Untuk menggunakan getCurrentSession() Anda perlu menambahkan konfigurasi berikut ke file hibernate.cfg.xml:
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.current_session_context_class">jta</property>
Apa perbedaan dan korelasi antara openSession() dan getCurrentSession() ?
Ketika sessionfactory dimulai, Hibernate akan membuat CurrentsessionContext yang sesuai sesuai dengan konfigurasi. Ketika getCurrentSession() dipanggil, metode aktual yang akan dieksekusi adalah CurrentSessionContext.currentSession() . Ketika currentSession() dieksekusi, jika sesi saat ini kosong, Currentsession akan memanggil opensession dari Sesi. Jadi getCurrentSession() adalah cara yang lebih baik untuk mendapatkan sesi untuk Java EE.
Sering kali session is close(); Alasannya adalah Anda mengaturnya di hibernate.cfg.xml
<name properti = "hibernate.current_session_context_class"> utas </property>
Sistem menutup sesi setelah commit(); setelah menjalankannya. Pada saat ini, jika Anda secara manual menutup sesi, tentu saja akan menunjukkan kesalahan.
Di atas adalah semua konten dari artikel ini tentang analisis instance tertutup Hibernate pada sesi, 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!