JDO กับ Value Object
JDO เป็นเทคโนโลยีการคงอยู่ของ Java ที่สามารถใช้ในการจัดเก็บ POJO (Plain Old Java Objects) ลงในฐานข้อมูลโดยไม่จำเป็นต้องเข้าใจการใช้งานพื้นฐานของที่เก็บข้อมูลต่างๆ Value Object (เรียกอีกอย่างว่า Data Transfer Object) เป็นรูปแบบการออกแบบที่เป็นนามธรรมซึ่งแนะนำแนวคิดของผู้ถือข้อมูลอย่างง่ายเพื่อวัตถุประสงค์ในการถ่ายโอนข้อมูลระหว่างหลายชั้นและชั้น
JDO คืออะไร
JDO (Java Data Objects) จัดให้มีกลไกในการส่งการคงอยู่ของวัตถุ Java และการเข้าถึงฐานข้อมูล JDO มีความโปร่งใสสูง เนื่องจากอนุญาตให้นักพัฒนาแอปพลิเคชัน Java เข้าถึงข้อมูลพื้นฐานโดยไม่ต้องเขียนโค้ดใดๆ เฉพาะสำหรับฐานข้อมูลJDO สามารถใช้ได้ในหลายระดับ รวมถึง Java Standard Edition, ระดับเว็บ และเซิร์ฟเวอร์แอปพลิเคชัน JDO API เป็นทางเลือกแทนการคงอยู่อื่นๆ (การรักษาอ็อบเจ็กต์หลังจากทำแท้งของโปรแกรม) ของอ็อบเจ็กต์ Java เช่น Serialization, JDBC (Java DataBase Connectivity) และ EJB CMP (Enterprise JavaBeans architecture Container Managed Persistence) JDO ใช้ XML และการปรับปรุง bytecode ข้อได้เปรียบหลักของการใช้ JDO API คือสามารถจัดเก็บข้อมูลโดยไม่จำเป็นต้องเรียนรู้ภาษาการสืบค้นใหม่ เช่น SQL (ซึ่งขึ้นอยู่กับประเภทของการจัดเก็บข้อมูล) JDO ใช้งานง่ายมาก เนื่องจากนักพัฒนาสามารถมุ่งเน้นเฉพาะโมเดลออบเจ็กต์โดเมนของตนเท่านั้น ไม่เพียงแค่นี้ JDO ยังปรับโค้ดให้เหมาะสมด้วยตัวเองตามการเข้าถึงข้อมูล เนื่องจาก JDO API ไม่ได้เข้มงวดกับประเภทของการจัดเก็บข้อมูล นักพัฒนาแอปพลิเคชัน Java จึงสามารถใช้อินเทอร์เฟซเดียวกันเพื่อเก็บอ็อบเจ็กต์ Java ไปยังที่เก็บข้อมูลใดๆ รวมถึงฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลอ็อบเจ็กต์ หรือ XML JDO นั้นพกพาได้สะดวกมากเพราะไม่จำเป็นต้องทำการดัดแปลงหรือคอมไพล์ใหม่เพื่อรันในการใช้งานของผู้ขายรายอื่น
วัตถุมูลค่าคืออะไร
Value Object หรือที่เรียกว่า Data transfer Objects (DTO) เป็นรูปแบบการออกแบบนามธรรมที่เรียบง่ายซึ่งเกี่ยวข้องกับที่เก็บข้อมูลเพื่อเก็บข้อมูลเพื่อวัตถุประสงค์ในการถ่ายโอนข้อมูลระหว่างเลเยอร์และระดับ แม้ว่าคำที่ถูกต้องที่สุดสำหรับรูปแบบนี้คือ Data Transfer Object เนื่องจากข้อผิดพลาดในเวอร์ชันแรกของ Core J2EE จึงได้รับการแนะนำเป็น Value Object แม้ว่าข้อผิดพลาดนี้จะได้รับการแก้ไขในรุ่นที่ 2 แล้ว แต่ชื่อนี้กลับได้รับความนิยมและยังคงใช้กันอย่างหนักแทน Data Transfer Object (แต่ควรสังเกตว่าคำที่ถูกต้องคือ Data Transfer Object) รูปแบบการออกแบบ DTO ใช้กับเอนทิตีบีน, JDBC และ JDO เพื่อแก้ไขปัญหาที่เกิดขึ้นเกี่ยวกับการแยกและธุรกรรมในแอปพลิเคชันระดับองค์กร สิ่งสำคัญคือต้องสังเกตว่าสิ่งเหล่านี้เป็นเพียงผู้ถือข้อมูลธรรมดาที่ใช้ในการถ่ายโอนข้อมูลระหว่างไคลเอนต์และฐานข้อมูล และพวกเขาไม่ได้ให้ความคงอยู่ของประเภทใด ๆ DTO มีจุดประสงค์เพื่อทำหน้าที่เป็นวัตถุ Serializable ใน EJB ดั้งเดิม (เป็นเอนทิตีบีนก่อน 30 ไม่สามารถทำให้เป็นอนุกรมได้) ในเฟสการประกอบที่แยกจากกันซึ่งกำหนดโดย DTO ข้อมูลทั้งหมดที่ใช้โดยมุมมองจะได้รับมาและจัดการก่อนปล่อยการควบคุมไปยังเลเยอร์การนำเสนอ
JDO กับ Value Object ต่างกันอย่างไร
JDO เป็นเทคโนโลยีการคงอยู่ซึ่งใช้ในการจัดเก็บออบเจ็กต์ Java ลงในฐานข้อมูล ซึ่งอำนวยความสะดวกให้กับนักพัฒนาโดยการจัดการรายละเอียดระดับการใช้งานทั้งหมด และอนุญาตให้นักพัฒนามุ่งเน้นไปที่การเข้ารหัสที่ไม่ใช่เฉพาะฐานข้อมูล แต่ Value Object แสดงถึงรูปแบบการออกแบบที่เป็นนามธรรม (ไม่ใช่เทคโนโลยี) ที่ให้ผู้ถือข้อมูลทั่วไปที่เรียกว่า Data Transfer Object ซึ่งสามารถเก็บข้อมูลเพื่อวัตถุประสงค์ในการถ่ายโอนระหว่างไคลเอ็นต์และฐานข้อมูล JDO จัดเตรียมสิ่งอำนวยความสะดวกของรายการข้อมูลที่คงอยู่ ในขณะที่ Value Object เกี่ยวข้องกับการเก็บข้อมูลชั่วคราวระหว่างช่วงเวลาของการถ่ายโอนข้อมูลเท่านั้น กล่าวอีกนัยหนึ่ง Value Object ไม่ได้ให้ความคงอยู่