Можно ли взять его из проекта Glassfish (glassfish-persistence-api) или, может быть, есть спящий барабан?
Какую банку следует включить для использования пакета javax.persistence в приложении на спящем режиме?
Ответ 1
Если вы разрабатываете систему OSGi, я бы порекомендовал вам загрузить версию "bundlefied" из Springsource Enterprise Bundle Repository.
В противном случае его нормально использовать обычный jar файл, содержащий пакет javax.persistence
Ответ 2
Если вы используете maven, добавление ниже зависимости должно работать
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
</dependency>
Ответ 3
Вы можете использовать ejb3-persistence.jar, который связан с гибернацией. Эта банка включает только пакет javax.persistence.
Ответ 4
В последнем и максимальном спящем режиме я смог разрешить зависимость, включив hibernate-jpa-2.0-api-1.0.0.Final.jar в каталог lib/jpa. Я не нашел jjb-persistence jar в самой последней загрузке.
Ответ 5
hibernate.jar и hibernate-entitymanager.jar содержат только пакеты org.hibernate. *. Поэтому вы должны взять его из проекта Glassfish.
Ответ 6
Для JPA 2.1 пакет javax.persistence можно найти здесь:
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
Смотрите: hibernate-jpa-2.1-api на Maven Central Кажется, что шаблон изменяет имя артефакта, когда изменяется версия JPA. Если это будет продолжаться, новые версии можно ожидать в Maven Central здесь: Hibernate JPA версии
Вышеупомянутый JPA 2.1 APi может использоваться в сочетании с Hibernate 4.3.7, в частности:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.7.Final</version>
</dependency>
Ответ 7
В общем, я согласен с приведенными выше ответами, которые рекомендуют добавить зависимость от maven, но я предпочитаю следующее решение.
Добавьте зависимость с классами API для полного профиля JavaEE:
<properties>
<javaee-api.version>7.0</javaee-api.version>
<hibernate-entitymanager.version>5.1.3.Final</hibernate-entitymanager.version>
</properties>
<depencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>${javaee-api.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
Также добавьте зависимость с конкретным поставщиком JPA, например, antonycc:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate-entitymanager.version}</version>
</dependency>
Примечание <scope>provided</scope>
в разделе зависимости API: это означает, что соответствующая банка не будет экспортироваться в артефакт lib/
, но будет предоставлена сервером приложений. Убедитесь, что ваш сервер приложений реализует указанную версию JavaEE API.