I want to use hibernate 4.3 for its multitenancy features in JBoss 7.1.
I managed to include it in my war by adding the following lines in jboss-deployment-structure
<exclusions>
<module name="org.hibernate" />
</exclusions>
and adding a dependency to hibernate core and entity manager in my pom.xml
This made hibernate 4.3 to load but unfortunately I got an error
java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
which is due to JPA 2.0 being loaded when hibernate 4.3 is using JPA 2.1
I have seen these threads and tried what they suggest Excluding JPA Subsystem from JBoss EAP 6.1 - Trying to use JPA 2.1 in JBoss EAP 6.1, JBoss AS7 Automatically Loading JPA, Hibernate 4.3.0.Final & Spring Data JPA 1.4.3.RELEASE.
I added a persistence.xml with
<property name="jboss.as.jpa.managed" value="false" />
excluded hibernate jpa 2.0 from Spring Data
<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>
Removed JPA subsystem completely from JBoss standalone.xml, without any success.
The only thing that did the trick was to exclude the whole javaee.api in jboss-deployment-structure, as suggested in another thread
<exclusions>
<module name="javax.persistence.api"/>
<module name="javaee.api"/>
</exclusions>
but this causes many problems to the rest of my code.
UPDATE: my jboss-deployment-structure.xml is now like this
<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>
As you see I have tried many things without luck, so if anyone has another idea it is most welcome.