После поиска я обнаружил, что класс javax / persistence / spi / ProviderUtil является частью спецификации Java EE 6 / JPA 2.0
Это правильно.
, который не поддерживается OpenEJB.
Пока нет.Это отслеживается OPENEJB-1236 .
Но я не думаю, что в своем приложении я использую любые JPA 2.0
Используете ли вы функции JPA 2.0или нет, некоторые изменения в различных интерфейсах требуют явной поддержки от контейнеров.
Я специально упоминаю в persistence.xml 1.0.
Это не имеет никакого значения,Контейнер все еще пытается загрузить реализацию JPA 2.0.
Я не знаю, является ли API Критерии hibernate частью JPA 2.0
В JPA 2.0 есть новые КритерииAPI, но Критерии Hibernate API является частью ... Hibernate.Из того, что я вижу, вы используете Hibernate API, и поэтому я предлагаю использовать его реализацию JPA 1.0 - то есть Hibernate EntityManager 3.4.0.GA и его зависимости, которые предоставляют этот API.В любом случае вам не нужен JPA 2.0.
В сети не так много информации о совпадении версий hibernate-jpa.Таким образом, вы имеете в виду, что проекты Hibernate EntityManager и Annotations являются реализациями спецификации JPA 1.0, а проект Hibernate Core содержит ядро hibernate (не-JPA) и JPA 2.0?
Hibernate EntityManager - этопроект, который обеспечивает реализацию JPA.
- Hibernate EntityManager 3.4.0.GA - реализация JPA 1.0
- Hiberante EnittyManager 3.5+ - реализация JPA 2.0
Используется ядро Hibernate(и некоторые другие библиотеки).Чтобы использовать Hibernate EntityManager 3.4.0.GA, вам потребуется следующее:
org.hibernate:hibernate-entitymanager:jar:3.4.0.GA:compile
+- org.hibernate:ejb3-persistence:jar:1.0.2.GA:compile
+- org.hibernate:hibernate-commons-annotations:jar:3.1.0.GA:compile
+- org.hibernate:hibernate-annotations:jar:3.4.0.GA:compile
+- org.hibernate:hibernate-core:jar:3.3.0.SP1:compile
| +- antlr:antlr:jar:2.7.6:compile
| \- commons-collections:commons-collections:jar:3.1:compile
+- org.slf4j:slf4j-api:jar:1.5.10:compile
+- dom4j:dom4j:jar:1.6.1:compile
| \- xml-apis:xml-apis:jar:1.0.b2:compile
+- javax.transaction:jta:jar:1.1:compile
\- javassist:javassist:jar:3.4.GA:compile
Я использую Maven, поэтому мне просто нужно объявить зависимость от hibernate-entitymanager, но если вы этого не сделаете,получить пакет от SourceForge .