داده اشیا جاوا

دادهٔ اشیاءِ جاوا (JDO)، (به انگلیسی: Java Data Objects)، یک مشخصه از ماندگاری شیء جاوا است. که از ویژگی‌های آن می‌توان به شفافیت خدمات مدل دامنه اشاره کرد؛ دادهٔ اشیاء جاوا (JDO)، اجسام معمولی کلاس‌های زبان برنامه‌نویسی جاوا هستند (POJOs) برای همین هیچ نیازی به اجرای آن از طریق واسط‌ها یا گسترش کلاس‌های خاص وجود ندارد.
 JDO 1.0 تحت فرایند انجمن جاوا به عنوان JSR 12 توسعه داده شد.
 JDO 2.0 تحت JSR 243 ساخته شد و در ۱۰ مه ۲۰۰۶ منتشر شد.
 JDO 2.1 در فوریه ۲۰۰۸ تکمیل شد، که توسط پروژه JDO آپاچی توسعه یافته‌است.
 JDO 2.2 در اکتبر ۲۰۰۸ منتشر شد. JDO 3.0 در آوریل ۲۰۱۰ منتشر شد.

تداوم شیء در متا فایل‌های خارجی XML تعریف می‌شود، که ممکن است ضمیمه‌های مخصوص به فروشنده داشته باشد. فروشندگان JDO برای توسعه دهندگان آن تقویت کننده (enhancers) فراهم می‌کنند، که فایل‌های کلاس جاوا را اصلاح می‌کنند تا شفافیت ماندگار شوند. (توجه داشته باشید که در حال حاضر، فروشندگان JDO چندین گزینه را برای ماندگاری، به عنوان مثال برای RDBMS، یا فایل‌های JDO پیشنهاد می‌کنند) همچنین در حال حاضر، فروشندگان JDO چندین گزینه برای ماندگاری ارائه می‌دهند، که می‌توان برای مثال به RDBMS ،OODB یا پرونده‌ها اشاره کرد.

کلاس‌های پیشرفته گسترش‌یافته در پیاده‌سازی فروشندگان مختلف قابل حمل هستند. پس از تقویت، یک کلاس جاوا می‌تواند با هر محصول فروشندگان JDO مورد استفاده قرار گیرد.

JDO به روش‌های مختلفی با سکوی سازمانی جاوا (Java EE) ادغام شده‌است، که اول از همه، پیاده‌سازی فروشنده می‌تواند به صورت یک  ارائه شود. دوم اینکه، JDO ممکن است در زمینه خدمات تراکنش JEE کار کند.

JDO در مقابل EJB3 در مقابل JPA 
خصوصیت Enterprise JavaBeans 3.0 (EJB3) نیز ماندگاری را تحت پوشش خود قرار می‌دهد، همان‌طور که نسخه دوم را با Entity Beans ماندگاری را تحت پوشش خود قرار می‌داد. البته تعارض استانداردهایی بین دوپایه استاندارد، از نظر برتری وجود دارد. لازم است ذکر شود که JDO چندین پیاده‌سازی و کاربرد تجاری دارد.

البته در پایان ماندگاری «هسته مرکزی»، در قالب یک استاندارد جدید به نام API ماندگاری جاوا یا (JPA) شکل گرفت. (JPA از بسته javax.persistence استفاده می‌کند) و برای اولین بار در یک سند جداگانه در قالب EJB3 spec JSR 220 مشخص و منتشر شد، اما بعداً به سند خاص خود (JSR 317) منتقل شد.

توجه داشته باشید که javax.persistence به یک نگه دارنده EJB نیاز ندارد و در نتیجه در محیط JAVA SE کار خواهد کرد؛ همان‌طور که JDO همیشه در ابن محیط کار کرده‌است.

با این حال، JPA یک استاندارد نقشه‌کشی اشیا رابطه‌ای (ORM) است، در حالی که JDO هم یک استاندارد نقشه‌کشی اشیا رابطه‌ای (ORM) و یک استاندارد ماندگاری شیء شفاف است. JDO، از دیدگاه API، نسبت به فناوری از اگنوستیک نسبت به دیتاستورهای خود است در حالی که JPA برای دیتاستورهای RDBMS هدف قرار می‌گیرد (البته چندین ارائه دهنده برای JPA وجود دارد که دسترسی به دیستاتورهای غیر رابطه ای را از طریق API JPA مانند ObjectDB را پشتیبانی می‌کنند).

ویژگی‌های جدید در JDO نسخهٔ ۲ در نسخهٔ ۱ یافت نمی‌شود 
 مفهوم گراف‌های جسم جدا شده
 توصیف گرهای استاندارد نقشه‌برداری ORM (برای پیاده‌سازی‌های JDO مبتنی بر ORM)
 پیشرفت‌های JDOQL (فرم تک رشته‌ای؛ پشتیبانی از روشهای رشته بیشتر، نقشه و ریاضی)
 به عنوان مثال از Connection javax.jdo.PersistenceManager
 بیشتر: نمایش داده شده با نام (pm.newNamedQuery), FetchPlan، ترتیب، حذف توسط پرس و جو، چندین مورد کاربر در PM

پیاده‌سازی مرجع JDO 
 JDO 1.0: FOStore
 JDO 2.0: JPOX 1.1
 JDO 2.1: JPOX 1.2
 JDO 2.2: DataNucleus AccessPlatform 1.0.1
 JDO 3.0: DataNucleus AccessPlatform 2.1.0
 JDO 3.1: DataNucleus AccessPlatform 3.2.0
 JDO 3.2: DataNucleus AccessPlatform 5.2.0

جستارهای وابسته 
 نقشه‌برداری شی-رابطه‌ای
 پایگاه داده اشیا
 Java Persistence API (JPA)
 DataNucleus
 ObjectDB
 ActiveJPA

منابع 

 جوردن، دیوید؛ راسل، کریگ (۲۲ آوریل ۲۰۰۳) داده‌ی اشیاء جاوا (ویرایش اول). اورایلی مدیا. صفحه ۳۸۴. شابک ۹-۰۰۲۷۶-۵۹۶-۰.
 تیاگی، سمیر؛ وربرگر، مایکل؛ مک‌کامان، کیرون؛ بابزین، هیکو (۲۱ سپتامبر ۲۰۰۳). هسته داده‌ی اشیاء جاوا (ویرایش اول). پرنتیز هال. صفحه ۵۷۶. شابک ۷-۱۴۰۷۳۱-۱۳-۰.
 ازیو، دیوید (۶ ژوئن ۲۰۰۳). درک و استفاده از داده‌ی اشیاء جاوا  (ویرایش اول). آپرس. صفحه ۴۵۶. شابک ۰-۰۴۳-۵۹۰۵۹-۱.

پیوند به بیرون 
 مشخصات JDO 1.0
 مشخصات JDO 2.0
 مشخصات JDO 2.1
 مشخصات JDO 2.2
 مشخصات JDO 3.0
بستر جاوای سازمانی