อะไรคือความแตกต่างระหว่างบันทึกและคงอยู่ในโหมดไฮเบอร์เนต?
อะไรคือความแตกต่างระหว่างบันทึกและคงอยู่ในโหมดไฮเบอร์เนต?

วีดีโอ: อะไรคือความแตกต่างระหว่างบันทึกและคงอยู่ในโหมดไฮเบอร์เนต?

วีดีโอ: อะไรคือความแตกต่างระหว่างบันทึกและคงอยู่ในโหมดไฮเบอร์เนต?
วีดีโอ: ไขข้อสงสัย FPS และ Hz คืออะไร ? | iHAVECPU 2024, พฤศจิกายน
Anonim

ที่นี่คือ ความแตกต่างระหว่างบันทึกและคงอยู่ วิธีการ: ชนิดส่งคืนของ ยังคงมีอยู่ วิธีการเป็นโมฆะในขณะที่ส่งคืนประเภท บันทึก เมธอดเป็นอ็อบเจกต์ Serializable แต่บอทของพวกเขายัง INSERT บันทึกลงในฐานข้อมูล อื่น ความแตกต่างระหว่างความคงอยู่ และ บันทึก คือทั้งสองวิธีทำให้วัตถุชั่วคราวเป็นสถานะคงอยู่

ในที่นี้ อันไหนดีกว่าบันทึกหรือคงอยู่ในโหมดไฮเบอร์เนต

ความแตกต่างระหว่าง บันทึก และ ยังคงมีอยู่ วิธีการใน ไฮเบอร์เนต คล้ายกับ บันทึก กระบวนการ ยังคงมีอยู่ อีกด้วย แทรก บันทึกลงในฐานข้อมูล แต่ส่งคืนประเภท ยังคงมีอยู่ เป็นโมฆะในขณะที่ส่งคืนประเภท บันทึก เป็นวัตถุที่ทำให้เป็นอนุกรมได้ 2) ความแตกต่างระหว่าง ยังคงมีอยู่ และ บันทึก คือทั้งสองวิธีทำให้อินสแตนซ์ชั่วคราวคงอยู่

อาจมีคนถามว่า อะไรยังคงอยู่ในโหมดจำศีล? ไฮเบอร์เนตยังคงมีอยู่ คล้ายกับการบันทึก (ด้วยธุรกรรม) และเพิ่มวัตถุเอนทิตีในบริบทที่คงอยู่ ดังนั้นจึงมีการติดตามการเปลี่ยนแปลงเพิ่มเติม หากคุณสมบัติของอ็อบเจ็กต์มีการเปลี่ยนแปลงก่อนที่จะคอมมิตทรานแซกชันหรือล้างเซสชั่น มัน จะ ถูกบันทึกลงในฐานข้อมูลด้วย

นอกจากนี้ อะไรคือความแตกต่างระหว่างการผสานและคงอยู่ในโหมดไฮเบอร์เนต

JPA และ ไฮเบอร์เนต จัดเตรียม แตกต่าง วิธีการ ยังคงมีอยู่ ใหม่และการปรับปรุงหน่วยงานที่มีอยู่ คุณสามารถใช้วิธีการ ยังคงมีอยู่ และบันทึกเพื่อจัดเก็บเอนทิตีใหม่และวิธีการ ผสาน และอัปเดตเพื่อจัดเก็บการเปลี่ยนแปลงของเอนทิตีที่แยกออก ใน ฐานข้อมูล

บันทึกหรืออัปเดตทำงานอย่างไรในโหมดไฮเบอร์เนต

บันทึก () วิธีการทำ an แทรก เพื่อเก็บอ็อบเจ็กต์ลงในฐานข้อมูลและส่งคืนตัวระบุที่สร้างโดยฐานข้อมูล ในทางกลับกัน, saveOrUpdate () สามารถใช้เพื่อแนบวัตถุที่แยกออกมาอีกครั้งใน ไฮเบอร์เนต เซสชั่น i.e. มันทำได้ INSERT หรือ UPDATE ขึ้นอยู่กับว่าวัตถุนั้นมีอยู่ในฐานข้อมูลหรือไม่