JBoss 5.1: Hibernate with JPA

hibernate, jboss5.x, jpa-2.0

Solution

Do this:

1) Add jboss-classloading.xml to /src/main/webapp (I am using Maven):

content:

<?xml version="1.0" encoding="UTF-8"?>

<classloading xmlns="urn:jboss:classloading:1.0"

         domain="$UNIQUE_DOMAIN_NAME"

         export-all="NON_EMPTY"

         import-all="false"

         parent-first="false">

</classloading>

2) Modify $JBOSS_INSTALL_DIRECTORY/jboss-as/server/$PROFILE/conf/bootstrap/deployers.xml, and add the following at the end:

<bean name="IgnoreFilesDeployer"

class="org.jboss.deployers.vfs.spi.deployer.AbstractIgnoreFilesDeployer"



</bean>

3) Create a file JBOSS-IGNORE.TXT in the META-INF folder with following content:

WEB-INF/classes/META-INF/persistence.xml

4) I've renamed my persistence.xml to spring-persistence.xml and added this file in the context.xml as:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
      <property name="persistenceXmlLocation" value="classpath:/META-INF/spring-persistence.xml"/>
           ....
</bean>

5) I;ve also modified the spring-persistence.xml (saved persistence_2_0.xsd in webapp\META-INF folder) as

 <persistence version="2.0"
 xmlns="http://java.sun.com/xml/ns/persistence"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="file:///persistence_2_0.xsd 
        http://java.sun.com/xml/ns/persistence">
....
</persistence>

Problem

I've got two questions to ask regarding JBoss 5.1. We are in process of migrating from JBoss 4.2 to JBoss 5.1. We are also using Java 1.6 and JPA 2.0 with Hibernate 3.6 as the provider. My questions are: - Is it possible to use Hibernate 3.6+ with JBoss 5.1. If yes, then how? - What about JPA 2.0? I know that JBoss 5.1 comes with JPA 1.0 compatibility. Can we use JPA2? And as we can not do any kind of configuration to the JBoss installation, all the fixes need to be done in our application only. Thanks in advance, JassB

Original source