วัตถุจาวาไฮเบอร์เนต
เนื่องจากฉันเพิ่งเรียนรู้ Java Hibernate ฉันได้รวบรวมข้อมูลเกี่ยวกับวัตถุ Java Hibernate หลายแห่งที่นี่ เพื่อนที่สนใจสามารถดูได้
ชั่วคราว: ไม่มีข้อมูลในฐานข้อมูลที่สอดคล้องกับมัน หากเกินขอบเขตมันจะถูกรวบรวมโดย JVM Garbage Collector มันมักจะเป็นวัตถุที่ออกมาจากใหม่และไม่มีความสัมพันธ์กับเซสชั่น
ถาวร: มีข้อมูลในฐานข้อมูลที่สอดคล้องกับมันและปัจจุบันเกี่ยวข้องกับเซสชันและเซสชันที่เกี่ยวข้องจะไม่ปิดและไม่ได้ทำธุรกรรม
สถานะของการเปลี่ยนแปลงวัตถุถาวรซึ่งจะส่งผลกระทบต่อฐานข้อมูลเมื่อมีการทำธุรกรรม (Hibernate สามารถตรวจจับได้)
(เมื่อวัตถุถูกบันทึกข้อมูลจะคงอยู่ในเวลานี้หลังจาก obj.set () การทำธุรกรรมจะถูกส่งไปยังไฮเบอร์เนต
หากคุณใช้ obj.set () ก่อนที่จะบันทึกวัตถุ (แม้ว่าจะอยู่ในธุรกรรม) นั่นคือก่อนที่จะยังคงมีอยู่
Detached: มีข้อมูลในฐานข้อมูลที่สอดคล้องกับมัน แต่ขณะนี้ไม่มีเซสชันที่เกี่ยวข้องกับมัน; สถานะของการเปลี่ยนแปลงวัตถุที่แยกออกและไม่สามารถตรวจพบไฮเบอร์เนตได้
สามรัฐของวัตถุไฮเบอร์เนตแผนภาพการเปลี่ยนแปลง:
commit () จะปิดเซสชัน
การสัมภาษณ์: ถ้าคุณกำหนดว่าวัตถุใดอยู่ในสถานะ?
พื้นฐานหลักคือ: 1. ตรวจสอบว่าวัตถุนั้นอยู่ในเซสชัน 2 และดูว่ามีระเบียนที่สอดคล้องกันในฐานข้อมูลหรือไม่
สรุป:
สถานะชั่วคราว: ไม่มีการจัดการเซสชันและฐานข้อมูลไม่มีระเบียนที่สอดคล้องกัน
การคงอยู่: มีการจัดการเซสชันและบันทึกในฐานข้อมูล
สถานะ DE-TUBE/FREE: ไม่มีการจัดการเซสชัน แต่จะถูกบันทึกไว้ในฐานข้อมูล
ขอบคุณสำหรับการอ่านฉันหวังว่ามันจะช่วยคุณได้ ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!