【问题标题】:JBoss 5.1: Hibernate with JPAJBoss 5.1:使用 JPA 休眠
【发布时间】:2012-04-13 11:44:19
【问题描述】:

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

我们还使用 Java 1.6 和 JPA 2.0 以及 Hibernate 3.6 作为提供者。

我的问题是:

  1. 是否可以将 Hibernate 3.6+ 与 JBoss 5.1 一起使用。如果是,那么如何?
  2. JPA 2.0 怎么样?我知道 JBoss 5.1 带有 JPA 1.0 兼容性。我们可以使用 JPA2 吗?

由于我们无法对 JBoss 安装进行任何类型的配置,所有的修复都只需要在我们的应用程序中完成。

提前致谢, 贾斯B

【问题讨论】:

    标签: hibernate jpa-2.0 jboss5.x


    【解决方案1】:

    我今天刚遇到同样的问题,在尝试了很多替代方案并到处询问后,答案是否定的

    您不能将 JPA 2.0 与 Jboss 5.1 一起使用(如果您无法更改服务器的配置,则更是如此)

    但我见过 hibernate3.X 在 Jboss5.1 上工作,但从来没有使用注解功能:只有旧的 XML 配置方式。

    现在,在我看来,您有 2 个解决方案:要求服务器升级或以旧方式更改您的数据访问系统。

    【讨论】:

    • 有人能够弄清楚如何实际集成 JPA 2.0 还是这个答案不正确?
    • 就我而言,从那时起服务器在生产中升级:没有更多问题!
    【解决方案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>
    

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

    <bean name="IgnoreFilesDeployer"
    
    class="org.jboss.deployers.vfs.spi.deployer.AbstractIgnoreFilesDeployer"
    
    
    
    </bean>
    

    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>
    

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

     <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>
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 2014-06-11
    • 2011-09-19
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    相关资源
    最近更新 更多