Я хочу использовать hibernate 4.3 для своих функций многоуровневости в JBoss 7.1.
Мне удалось включить его в мою войну, добавив следующие строки в структуру jboss-deployment-structure
<exclusions>
<module name="org.hibernate" />
</exclusions>
и добавление зависимости для спящего ядра и менеджера объектов в моем pom.xml
Это привело к загрузке спящего режима 4.3, но, к сожалению, я получил сообщение об ошибке
java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
что связано с загрузкой JPA 2.0, когда hibernate 4.3 использует JPA 2.1
Я видел эти темы и пытался, что они предлагают Исключение подсистемы JPA от JBoss EAP 6.1 - Попытка использования JPA 2.1 в JBoss EAP 6.1, JBoss AS7 Автоматическая загрузка JPA, Hibernate 4.3.0.Final и Spring Данные JPA 1.4.3.RELEASE.
Я добавил файл persistence.xml с
<property name="jboss.as.jpa.managed" value="false" />
исключено hibernate jpa 2.0 из Spring Данные
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>${spring-data.version}</version>
<exclusions>
<exclusion>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
</exclusion>
</exclusions>
</dependency>
Удалена подсистема JPA полностью из JBoss standalone.xml без каких-либо успехов.
Единственное, что делало трюк, заключалось в том, чтобы исключить весь javaee.api в jboss-deployment-structure, как предлагается в другом потоке
<exclusions>
<module name="javax.persistence.api"/>
<module name="javaee.api"/>
</exclusions>
но это вызывает множество проблем для остальной части моего кода.
UPDATE: теперь мой jboss-deployment-structure.xml выглядит как
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.slf4j" />
<module name="org.slf4j.impl" />
<module name="org.apache.log4j" />
<module name="javax.persistence.api" />
<module name="org.hibernate" />
</exclusions>
<dependencies>
<module name="org.jboss.ironjacamar.jdbcadapters" />
<module name="org.hornetq" />
<module name="org.hornetq.ra" />
<module name="org.jboss.ejb3" />
<module name="org.jboss.ejb-client" />
</dependencies>
</deployment>
</jboss-deployment-structure>
Как вы видите, я пробовал много вещей без везения, поэтому, если у кого-то есть другая идея, это очень приветствуется.