سؤال

لدينا مشروع يستخدم JPA / السبات على جانب الملقم، والطبقات كيان معين هي في حياتهم مكتبة مشروع خاص واستخدام شروح ليتم تعيينها إلى قاعدة البيانات. أريد أن استخدام هذه الفئات في الروبوت المشروع - هل هناك أي طريقة لتجاهل شروح داخل الروبوت، لاستخدام هذه الفئات كما POJOs القياسية

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

المحلول

وسوف المترجم لا يهمني ما دام لديك جرة مع الطبقات الشرح النقابة في CLASSPATH الخاص بك. وإذا كان نظام وقت التشغيل الأجهزة (مثل السبات) غير موجود، شروح ليست سوى معلومات اضافية الموجودة هناك ولكن لم تستخدم. المسألة الوحيدة هي تأمين إدراج جرة النقابة في التوزيع.

نصائح أخرى

وشروح JPA الفعلية هي جزء من جافا SE 6، وليس السبات. لذلك أنت لا تحتاج أن يكون JAR السبات لتكون قادرة على استخدام JPA الطبقات المشروح. كل ما تحتاجه هو الطبقات / واجهات إعلان الشروح الخاصة يتم الرجوع، إذا كنت لا تستطيع تحمله كامل JPA المعهد جرة حوالي 50K.

وركضت للتو في هذه المشكلة ومنذ أن استخدام مخضرم لبناء الروبوت مشروعي أضفت هذه التبعية

 <dependency>
     <groupId>org.hibernate.javax.persistence</groupId>
     <artifactId>hibernate-jpa-2.0-api</artifactId>
     <version>1.0.1.Final</version>
    </dependency>

ويمكنك استخدام Cmobilecom JPA للحصول على الروبوت وجافا. وتنفذ JPA 2.1 مواصفات. لذلك كل ما تبذلونه من الشروح النقابة للجافا ستعمل لالروبوت دون أي تغيير. ببساطة إضافة التبعيات التالية في المشاريع الخاصة بك.

والروبوت:

dependencies {
    implementation("com.cmobilecom:cmobilecom-jpa-android:${version}@aar") {
        transitive = true
    }

    annotationProcessor "com.cmobilecom:cmobilecom-jpa-processor:$version"
}

وJDBC:

dependencies {
    implementation "com.cmobilecom:cmobilecom-jpa-jdbc:$version"

    // annotation processor: generate static metamodel
    compileOnly "com.cmobilecom:cmobilecom-jpa-processor:$version"
}

تنويه: أنا مطور من Cmobilecom JPA

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