ถ้าเราเพียงแค่พูดคุยเกี่ยวกับการติดตาSerializable
ไม่จำเป็น Serializable
แต่มันเป็นวิธีที่ดีที่สุดที่จะทำให้หน่วยงาน
ถ้าเราจะเปิดเผยdomain
/ entities
วัตถุสัมผัสโดยตรงกับชั้นนำเสนอแทนการใช้ในกรณีที่เราจำเป็นต้องใช้DTO
Serializable
วัตถุโดเมนเหล่านี้สามารถเก็บไว้ในHTTPSession
การแคช / การเพิ่มประสิทธิภาพ http- เซสชั่นสามารถต่อเนื่องหรือคลัสเตอร์ และยังจำเป็นสำหรับการถ่ายโอนข้อมูลระหว่างJVM
สาร
เมื่อเราใช้DTO
เพื่อแยกชั้นการคงอยู่และเลเยอร์บริการทำเครื่องหมายวัตถุโดเมนว่าSerializable
จะเป็นเคาน์เตอร์ที่มีประสิทธิผลและจะละเมิด " encapsulation
" จากนั้นจะกลายเป็นรูปแบบการต่อต้าน
ตัวระบุคอมโพสิต
คลาสคีย์หลักจะต้องต่อเนื่องได้
โมเดล POJO
หากต้องการใช้อินสแตนซ์ของเอนทิตี้จากระยะไกลเป็นวัตถุเดี่ยวคลาสเอนทิตีต้องใช้Serializable
อินเทอร์เฟซ
แคช
นอกจากนี้หากคุณกำลังดำเนินการclustered
ระดับที่สองแล้วหน่วยงานของคุณจะต้องcache
serializable
ตัวระบุต้องเป็นSerializable
เพราะนั่นเป็นข้อกำหนด JPA เนื่องจากidentifier
อาจใช้เป็นคีย์สำหรับรายการแคชระดับที่สอง
และเมื่อเราทำให้เป็นอันดับหน่วยงานตรวจสอบให้แน่ใจว่าจะให้ชัดเจน serialVersionUID
มีการปรับเปลี่ยนการเข้าถึงส่วนตัวเนื่องจากถ้าserializable
คลาสไม่ได้ประกาศอย่างชัดเจนserialVersionUID
ดังนั้นการรันไทม์ซีเรียลไลเซชันจะคำนวณค่าเริ่มต้นserialVersionUID
สำหรับคลาสนั้นตามแง่มุมต่าง ๆ ของคลาสดังอธิบายใน Java (TM) Object Serialization Specification serialVersionUID
การคำนวณเริ่มต้นนั้นมีความอ่อนไหวสูงต่อรายละเอียดของคลาสที่อาจแตกต่างกันไปขึ้นอยู่กับการใช้งานคอมไพเลอร์และอาจส่งผลให้เกิดการคาดไม่ถึงInvalidClassExceptions
ระหว่างการดีซีเรียลไลเซชัน