سؤال

أنا أبحث عن اكتشاف كيان في OpenJPA. أنني لست بحاجة إلى إعلان جميع الكيانات في المثابرة.

تحرير: أنا آسف ، لقد نسيت أن أقول إنني أقوم بتطوير تطبيق Java SE.

هل كانت مفيدة؟

المحلول

إقرأ ال قائمة الطبقة المستمرة قسم في دليل المستخدم.

على عكس العديد من منتجات ORM ، لا يحتاج OpenJPA إلى معرفة جميع فصولك المستمرة عند بدء التشغيل. يكتشف OpenJPA فصولًا مستمرة جديدة تلقائيًا حيث يتم تحميلها في JVM ؛ في الواقع ، يمكنك تقديم فصول مستمرة جديدة في تشغيل التطبيقات بموجب OpenJPA.

  • ملاحظة: هناك قيود زوجين موثقة في دليل المستخدم ، لكنني تركت هذه القيود للحفاظ على هذا المنشور.

نصائح أخرى

وفقًا لمواصفات JPA ، يجب عليك سرد جميع الفئات بشكل صريح في بيئة Java SE:

6.2.1.6 ملف الخرائط ، ملف جرة ، فئة ، فئات غير مدرجة

(...)

يمكن أيضًا تحديد قائمة بفئات الثبات المدارة المسماة بدلاً من ، أو بالإضافة إلى ملفات JAR وملفات رسم الخرائط. ستتم معالجة أي تعليقات توصيل بيانات التعريف الموجودة في هذه الفصول ، أو سيتم تعيينها باستخدام الإعدادات الافتراضية لتوضيح التعيين. يتم استخدام عنصر الفصل لسرد فئة الثبات المدارة. يجب تحديد قائمة بجميع فئات الثبات المسمى المسمى في بيئات Java SE لضمان قابلية النقل. يجب ألا تعتمد تطبيقات Java SE المحمولة على الآليات الأخرى الموضحة هنا لتحديد فئات الثبات المدارة لوحدة الثبات. قد يتطلب مقدمو الثبات أيضًا أن يتم تعداد مجموعة فئات الكيانات والفئات التي سيتم إدارتها بالكامل في كل من persistence.xml الملفات في بيئات Java SE.

يتم البحث عن جميع الفصول الموجودة في جذر وحدة الثبات عن فصول الثبات المدارة المشروحة وأي تعليقات بيانات تصميمة رسم الخرائط الموجودة عليها سيتم معالجتها ، أو سيتم تعيينها باستخدام التخلف عن السداد. إذا لم يكن المقصود أن يتم تضمين فئات الثبات المشروحة الواردة في جذر وحدة الثبات في وحدة الثبات ، exclude-unlisted-classes يجب استخدام العنصر. ال exclude-unlisted-classes العنصر غير مخصص للاستخدام في بيئات Java SE.

الآن ، إذا كنت لا تمانع في أن تكون غير قابل للحمل ، فيمكنك استخدام امتداد مزود ولكن لم أتمكن من العثور على شيء مشابه لـ Hibernate's hibernate.archive.autodetection خاصية في OpenJPA.

باستخدام الربيع تكامل JPA (مما يسمح بمسح فئة أكثر مرونة) هو خيار آخر.

هناك أيضًا JPA-plugin الذي يمكنه القيام بذلك نيابة عنك. أحدث إصدار غير متوفر في Maven Central ، لذا سيتعين عليك استنساخ وبناء نفسك.

JPA-Plugin

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top