ถ้าเราเพียงแค่พูดคุยเกี่ยวกับการติดตา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ระหว่างการดีซีเรียลไลเซชัน