این مقاله نیازمند تمیزکاری است. لطفاً تا جای امکان آنرا از نظر املا، انشا، چیدمان و درستی بهتر کنید، سپس این برچسب را بردارید. محتویات این مقاله ممکن است غیر قابل اعتماد و نادرست یا جانبدارانه باشد یا قوانین حقوق پدیدآورندگان را نقض کرده باشد. |
دادهٔ اشیاءِ جاوا (JDO)، (به انگلیسی: Java Data Objects)، یک مشخصه از ماندگاری شیء جاوا است. که از ویژگیهای آن میتوان به شفافیت خدمات مدل دامنه اشاره کرد؛ دادهٔ اشیاء جاوا (JDO)، اجسام معمولی کلاسهای زبان برنامهنویسی جاوا هستند (POJOs) برای همین هیچ نیازی به اجرای آن از طریق واسطها یا گسترش کلاسهای خاص وجود ندارد.
تداوم شیء در متا فایلهای خارجی XML تعریف میشود، که ممکن است ضمیمههای مخصوص به فروشنده داشته باشد. فروشندگان JDO برای توسعه دهندگان آن تقویت کننده (enhancers) فراهم میکنند، که فایلهای کلاس جاوا را اصلاح میکنند تا شفافیت ماندگار شوند. (توجه داشته باشید که در حال حاضر، فروشندگان JDO چندین گزینه را برای ماندگاری، به عنوان مثال برای RDBMS، یا فایلهای JDO پیشنهاد میکنند) همچنین در حال حاضر، فروشندگان JDO چندین گزینه برای ماندگاری ارائه میدهند، که میتوان برای مثال به RDBMS ،OODB یا پروندهها اشاره کرد.
کلاسهای پیشرفته گسترشیافته در پیادهسازی فروشندگان مختلف قابل حمل هستند. پس از تقویت، یک کلاس جاوا میتواند با هر محصول فروشندگان JDO مورد استفاده قرار گیرد.
JDO به روشهای مختلفی با سکوی سازمانی جاوا (Java EE) ادغام شدهاست، که اول از همه، پیادهسازی فروشنده میتواند به صورت یک متصلکننده سکوی سازمانی جاوا[نیازمند توضیح بیشتر] ارائه شود. دوم اینکه، JDO ممکن است در زمینه خدمات تراکنش JEE کار کند.
خصوصیت 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 را پشتیبانی میکنند).
javax.jdo.PersistenceManager