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

دادهٔ اشیاءِ جاوا (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

[ویرایش]

جستارهای وابسته

[ویرایش]

منابع

[ویرایش]

پیوند به بیرون

[ویرایش]