JBoss 5.1:使用JPA进行Hibernate

Jaz*_*azB 6 hibernate jboss5.x jpa-2.0

关于JBoss 5.1,我有两个问题要问.我们正在从JBoss 4.2迁移到JBoss 5.1.

我们还使用Java 1.6和JPA 2.0以及Hibernate 3.6作为提供程序.

我的问题是:

  1. 是否可以在JBoss 5.1中使用Hibernate 3.6+.如果是,那怎么样?
  2. JPA 2.0怎么样?我知道JBoss 5.1兼容JPA 1.0.我们可以使用JPA2吗?

由于我们无法对JBoss安装进行任何配置,因此所有修复工作只需在我们的应用程序中完成.

在此先感谢JassB

adi*_*adi 2

做这个:

1)将jboss-classloading.xml添加到/src/main/webapp(我使用Maven):

内容:

<?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>
Run Code Online (Sandbox Code Playgroud)

2)修改$JBOSS_INSTALL_DIRECTORY/jboss-as/server/$PROFILE/conf/bootstrap/deployers.xml,在最后添加以下内容:

<bean name="IgnoreFilesDeployer"

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



</bean>
Run Code Online (Sandbox Code Playgroud)

3) 在 META-INF 文件夹中创建文件 JBOSS-IGNORE.TXT,内容如下:

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

4)我已将 persistence.xml 重命名为 spring-persistence.xml 并将此文件添加到 context.xml 中,如下所示:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
      <property name="persistenceXmlLocation" value="classpath:/META-INF/spring-persistence.xml"/>
           ....
</bean>
Run Code Online (Sandbox Code Playgroud)

5)我还修改了 spring-persistence.xml (将 persistence_2_0.xsd 保存在 webapp\META-INF 文件夹中)为

 <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>
Run Code Online (Sandbox Code Playgroud)