Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate、WebLogic 10.3和JPA2.0_Java_Spring_Hibernate_Jpa - Fatal编程技术网

Java Hibernate、WebLogic 10.3和JPA2.0

Java Hibernate、WebLogic 10.3和JPA2.0,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,我使用Spring4.0、Hibernate4.3和JPA2.1创建了一个应用程序。不幸的是,在最后一分钟我意识到我们使用的服务器不支持JPA2.1(WebLogic10.3.6) 请注意,我无法控制我们正在使用的服务器-I 无法将其升级到更高版本。而且,我知道我应该 更加了解我们在使用什么;然而,我不能改变这一点 现在这将是今后的经验教训 我现在处于进退两难的境地,因为客户已经在本地看到了一个工作版本,并期望应用程序很快部署到web服务器上。我意识到我需要重写数据持久层的大部分 你们谁能帮我找

我使用Spring4.0、Hibernate4.3和JPA2.1创建了一个应用程序。不幸的是,在最后一分钟我意识到我们使用的服务器不支持JPA2.1(WebLogic10.3.6)

请注意,我无法控制我们正在使用的服务器-I 无法将其升级到更高版本。而且,我知道我应该 更加了解我们在使用什么;然而,我不能改变这一点 现在这将是今后的经验教训

我现在处于进退两难的境地,因为客户已经在本地看到了一个工作版本,并期望应用程序很快部署到web服务器上。我意识到我需要重写数据持久层的大部分

你们谁能帮我找出Hibernate4.2.8和Hibernate4.3之间的不同之处,以及JPA2.1之间的差异?我知道这是一个大问题,但我没有其他的参考点来帮助我的组织。我希望我能在这里得到一些指导

到目前为止,我认为恢复到早期版本会对以下方面产生影响:

  • JPA表格
  • JPA连接索引
  • 一些自动布线
  • 一些注释
我知道还有几个其他问题,但我在解决其他问题时发现了它们。我遇到的最大问题之一是连接,因为我有许多使用@manytone和连接列的双向关系

我的问题是:在Hibernate4.3中常用的、在Hibernate4.2.x中不存在的一些功能是什么?没有JPA2.1,哪些功能不受支持?您是否认为这些差异足够大,需要从头重写当前的数据持久性层

如果这是一个太大的问题,请让我知道,我会尝试进一步完善它


提前感谢您的帮助。

我们在weblogic 12上遇到了相同的问题。我们的应用程序使用hibernate/JPA2.1,它与Weblogc12提供的JPA2.0冲突

您可以使用WebLogic类加载器分析工具(也称为
wls cat
)来识别wls库和应用程序之间的所有冲突

解决方案是告诉weblogic不要使用它捆绑的旧框架

在我的例子中,我正在部署一个包含hibernate和JPA2.1API的war

创建WEB-INF/weblogic.xml

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
  xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
  <wls:container-descriptor>
    <wls:prefer-application-packages>
      <wls:package-name>org.slf4j</wls:package-name>
      <wls:package-name>org.joda</wls:package-name>
      <wls:package-name>javax.persistence</wls:package-name>
    </wls:prefer-application-packages>
  </wls:container-descriptor>
</wls:weblogic-web-app>

org.slf4j
org.joda
javax.persistence

如果有办法告诉weblogic使用战争中的所有库,并且永远不要使用它的旧库副本,那就太好了。

我们在weblogic 12上也遇到了同样的问题。我们的应用程序使用hibernate/JPA2.1,它与Weblogc12提供的JPA2.0冲突

您可以使用WebLogic类加载器分析工具(也称为
wls cat
)来识别wls库和应用程序之间的所有冲突

解决方案是告诉weblogic不要使用它捆绑的旧框架

在我的例子中,我正在部署一个包含hibernate和JPA2.1API的war

创建WEB-INF/weblogic.xml

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
  xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
  <wls:container-descriptor>
    <wls:prefer-application-packages>
      <wls:package-name>org.slf4j</wls:package-name>
      <wls:package-name>org.joda</wls:package-name>
      <wls:package-name>javax.persistence</wls:package-name>
    </wls:prefer-application-packages>
  </wls:container-descriptor>
</wls:weblogic-web-app>

org.slf4j
org.joda
javax.persistence
如果有一种方法告诉weblogic使用战争中的所有库,并且永远不要使用它的旧库副本,那就太好了