วีดีโอ: การผสานในโหมดไฮเบอร์เนตคืออะไร?
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2023-12-15 23:54
อย่างที่เราทราบกันดีว่า update() และ ผสาน () วิธีการใน จำศีล ใช้เพื่อแปลงวัตถุที่อยู่ในสถานะแยกออกเป็นสถานะคงอยู่ ผสาน ควรใช้ในกรณีนั้น จะรวมการเปลี่ยนแปลงของวัตถุที่แยกออกมากับวัตถุในเซสชัน หากมี
แล้วอะไรคือความแตกต่างระหว่าง Merge และ saveOrUpdate ในโหมดไฮเบอร์เนต?
หากคุณกำลังใช้ saveOrUpdate จะต้องแนบวัตถุที่บันทึกไว้กับเซสชัน ไฮเบอร์เนต ดูแล การควบรวมกิจการ ข้อมูลให้เหมาะสม จำศีล เซสชันที่แนบมาวัตถุและบันทึกข้อมูล ข้อเสียเพียงอย่างเดียวของการใช้ ผสาน คือวัตถุที่ส่งผ่านไม่ได้สะท้อนถึงข้อมูลที่เปลี่ยนแปลง
ต่อมาคำถามคือ Evict คืออะไรในสถานะจำศีล? ขับไล่ () เพื่อแยกวัตถุออกจากแคชเซสชัน จำศีล จัดเตรียมให้ ขับไล่ () กระบวนการ. หลังจากถอดอ็อบเจ็กต์ออกจากเซสชันแล้ว การเปลี่ยนแปลงใดๆ กับอ็อบเจ็กต์จะไม่คงอยู่ ออบเจ็กต์ที่เกี่ยวข้องจะถูกแยกออกจากกันหากการเชื่อมโยงถูกแมปกับ cascade=" ขับไล่ ".
อีกอย่างที่ควรทราบคือ ไฮเบอร์เนตอัปเดตทำงานอย่างไร
อัปเดต () อัปเดต () กระบวนการ อัพเดท เอนทิตีสำหรับการคงอยู่โดยใช้ตัวระบุของออบเจ็กต์ที่แยกออกหรืออินสแตนซ์ใหม่ของเอนทิตีที่สร้างขึ้นด้วยตัวระบุที่มีอยู่ หากวัตถุอยู่ในเซสชันที่มีตัวระบุเดียวกันอยู่แล้ว วัตถุนั้นก็จะส่งข้อยกเว้น
การผสาน EntityManager ทำอะไร
NS EntityManager . ผสาน () การดำเนินการใช้เพื่อ ผสาน การเปลี่ยนแปลงที่ทำกับวัตถุที่แยกออกมาในบริบทการคงอยู่ ผสานไม่ ไม่อัปเดตวัตถุลงในฐานข้อมูลโดยตรง แต่จะรวมการเปลี่ยนแปลงเข้ากับบริบทการคงอยู่ (ธุรกรรม)