JPA Аннотации в Android - PullRequest
       171

JPA Аннотации в Android

11 голосов
/ 27 октября 2009

У нас есть проект, который использует JPA / Hibernate на стороне сервера, сопоставленные классы сущностей находятся в их собственном Library-Project и используют аннотации для отображения в базу данных. Я хочу использовать эти классы в Android-проекте - есть ли способ игнорировать аннотации в Android, чтобы использовать эти классы в качестве стандартных POJO?

Ответы [ 4 ]

7 голосов
/ 27 октября 2009

Компилятору будет все равно, пока у вас есть jar с классами аннотаций JPA в вашем classpath. И если система инструментов времени выполнения (например, Hibernate) отсутствует, аннотации - это просто дополнительная информация, которая есть, но не используется. Единственная проблема заключается в том, чтобы обеспечить включение jar-файла JPA в ваш дистрибутив.

5 голосов
/ 29 мая 2010

Реальные аннотации JPA являются частью Java SE 6, а не спят. Поэтому вам не нужно иметь Jiber Hibernate, чтобы использовать аннотированные классы JPA. Все, что вам нужно, это классы / интерфейсы, объявляющие аннотации, на которые вы ссылаетесь, если вы можете себе это позволить, полный jap-файл JPA составляет около 50 тыс.

0 голосов
/ 29 августа 2018

Вы можете использовать Cmobilecom JPA для Android и Java. Он реализует спецификацию JPA 2.1. Так что все ваши аннотации JPA для Java будут работать для Android без каких-либо изменений. Просто добавьте следующие зависимости в свои проекты.

Android:

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.

0 голосов
/ 01 марта 2013

Я только что столкнулся с этой проблемой, и так как я использую maven для создания своего проекта Android, я добавил эту зависимость

 <dependency>
     <groupId>org.hibernate.javax.persistence</groupId>
     <artifactId>hibernate-jpa-2.0-api</artifactId>
     <version>1.0.1.Final</version>
    </dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...