Rumah  >  Artikel  >  Java  >  Apakah status Hibernate dalam java

Apakah status Hibernate dalam java

PHPz
PHPzke hadapan
2023-05-03 20:19:051466semak imbas

1. Keadaan sementara

Objek entiti yang dicipta dengan membuka ruang memori dengan yang baharu, tetapi ia tidak disertakan dalam pengurusan sesi hibernate, ia akan Dikitar semula oleh JVM (pengumpul sampah). Objek keadaan sementara diasingkan dalam ingatan Ia tidak mempunyai sambungan dengan pangkalan data dan hanya pembawa untuk membawa maklumat.

Objek keadaan sementara dirujuk oleh objek keadaan berterusan dan ia akan menjadi objek keadaan berterusan secara automatik. Contohnya, apabila memanggil save, saveorupdate dan kaedah lain sesi.

Ciri:

(1) Objek yang dicipta menggunakan baru tidak mempunyai set atribut id

(2) Ia tidak diuruskan oleh sesi, dengan kata lain, data objek disimpan dalam memori , ia tidak disimpan dalam cache sesi

(3) Tiada korelasi antara data objek sementara dan data dalam pangkalan data

2 . Keadaan berterusan

Objek keadaan berterusan dikaitkan dengan data dalam pangkalan data dan ia sentiasa dikaitkan dengan keadaan sesi (Sesi) dan transaksi (Transaksi). Apabila objek keadaan berterusan berubah, operasi pangkalan data tidak akan dilakukan serta-merta Hanya apabila transaksi tamat, pangkalan data akan dikemas kini untuk memastikan penyegerakan objek berterusan dan operasi pangkalan data Hibernate.

Apabila objek keadaan berterusan menjadi objek keadaan terurus, ia tidak akan berada dalam skop pengurusan lapisan kegigihan Hibernate.

Ciri:

(1) Ia sama ada objek data yang ditanya daripada pangkalan data menggunakan kaedah dapatkan atau muat, atau data ditukar kepada objek lapisan kegigihan menggunakan kaedah simpan atau kemas kini

(2) Data objek dihoskan mengikut sesi. Dalam erti kata lain, terdapat salinan data objek dalam cache sesi dan rekod yang sepadan dalam pangkalan data

3 Keadaan di luar kawalan

Bila objek berterusan Selepas Sesi ditutup , objek ini berubah daripada keadaan berterusan kepada keadaan terurus. Objek keadaan terurus masih dikaitkan dengan data dalam pangkalan data, tetapi ia tidak berada dalam skop Sesi Hibernate.

Jika objek tertanggal itu dikaitkan semula dengan Sesi baharu, ia akan menjadi objek berterusan.

Ciri:

(1) Ia diperoleh terutamanya dengan memanggil session.evict() atau session.clear() atau session.close() melalui objek keadaan berterusan Ia juga boleh ditetapkan oleh Objek baharu dengan nilai id

(2) Tiada objek dalam cache sesi, tetapi terdapat objek dalam memori (Nota: Objek ini mempunyai set nilai id)

4. Keadaan Padam

Apabila kaedah pemadaman sesi dipanggil, objek berubah kepada keadaan yang dipadam. Keadaan yang dipadamkan hanya boleh menunggu untuk dikitar semula.

Atas ialah kandungan terperinci Apakah status Hibernate dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam