hibernate - JPA 与 Hibernate 和 Weblogic 的冲突

标签 hibernate weblogic jpa-2.0 fortify

我正在尝试使用以下版本将我的应用程序和 Web 服务部署到 weblogic:

  • Weblogic 10.3.5
  • hibernate 4.1.1
  • Hibernate JPA API 2.0
  • EJB 2.0
  • Java 6

当我调用网络服务时,出现错误

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
         <faultcode>ns2:Server</faultcode>
         <faultstring>javax/persistence/OneToMany.orphanRemoval()Z</faultstring>
        <detail>
           <ns2:exception class="java.lang.NoSuchMethodError" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false" xmlns:ns2="http://jax-ws.dev.java.net/">
               <message>javax/persistence/OneToMany.orphanRemoval()Z</message>
               <ns2:stackTrace>
                  <ns2:frame class="org.hibernate.cfg.AnnotationBinder" file="AnnotationBinder.java" line="1868" method="processElementAnnotations"/>
                  <ns2:frame class="org.hibernate.cfg.AnnotationBinder" file="AnnotationBinder.java" line="768" method="processIdPropertiesIfNotAlready"/>
...

我已经检查过,没有包含其他持久性 api jar。

我的外部 jar 列表是:

  • ant-jakarta-oro-1.6.jar
  • antlr-2.7.2.jar
  • aspectjrt-1.5.3.jar
  • cactus.core.framework.uberjar.javaEE.14-1.8.1.jar
  • cactus.integration.maven2-1.8.1.jar
  • commons-beanutils-1.8.0.jar
  • commons-chain-1.2.jar
  • commons-codec-1.3.jar
  • commons-collections-3.2.1.jar
  • commons-digester-1.8.jar
  • commons-fileupload-1.1.1.jar
  • commons-httpclient-2.0-rc2.jar
  • commons-lang3-3.0.1.jar
  • commons-logging-1.1.1.jar
  • commons-validator-1.3.1.jar
  • dom4j-1.6.1.jar
  • generic-web-service-schema-4.0.jar
  • hibernate-commons-annotations-4.0.1.Final.jar
  • hibernate-core-4.1.1.Final.jar
  • hibernate-jpa-2.0-api-1.0.1.Final.jar
  • httpunit-1.6.jar
  • javassist-3.15.0-GA.jar
  • jboss-logging-3.1.0.GA.jar
  • jboss-transaction-api_1.1_spec-1.0.0.Final.jar
  • js-1.5R4.1.jar
  • jSTL-1.0.2.jar
  • jtidy-4aug2000r7-dev.jar
  • junit-3.8.2.jar
  • nekohtml-1.9.6.jar
  • oracle.webservices.standalone.client-11.1.1.jar
  • oro-2.0.8.jar
  • 标准-1.0.6.jar
  • struts-core-1.3.10.jar
  • struts-el-1.3.10.jar
  • struts-taglib-1.3.10.jar
  • struts-tiles-1.3.10.jar
  • weblogic-webservices-api-1.1.0.0.jar
  • xercesImpl-2.8.1.jar
  • xml-apis-1.3.03.jar
  • xmlParserAPIs-2.2.1.jar

我已经检查过这些,Hibernate JPA 是唯一具有 OneToMany 类的。我知道问题是 JPA 1.0 和 JPA 2.0 之间的冲突,所以我只想知道是否有解决冲突的方法。

谢谢

最佳答案

WebLogic 10.3.5可以支持 JPA 2,但只有在应用本页中描述的补丁后才能支持:(至少,这就是让它工作的方式对我来说。)

归结为编辑 setDomainEnv.cmd 并添加 javax.persistence_1.0.0.0_2-0-0.jarcom.oracle.jpa2support_1。 0.0.0_2-0.jarPRE_CLASSPATH 环境变量。

对于我的 Windows XP WebLogic 安装,我添加了以下几行:

REM Add JARs for JPA 2.0 at the front of the class path.
set WLS_MODULES=%WL_HOME%\..\modules
set PRE_CLASSPATH=%WLS_MODULES%\javax.persistence_1.0.0.0_2-0-0.jar;%WLS_MODULES%\com.oracle.jpa2support_1.0.0.0_2-0.jar

祝你好运,
兰迪

关于hibernate - JPA 与 Hibernate 和 Weblogic 的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10342746/

相关文章:

java - Hibernate 模块错误 OGM + MongoDB 和 Wildfly 10

mysql - 如何更新记录的详细信息

java - 在 weblogic 中使用 log4j 日志记录 9/10

java - 从 weblogic 控制台下载 ear

java - 在jpa中保存对象之前如何知道id

java - JPA 给自己惹麻烦

java - Hibernate ORM 提供程序、Netbeans 7、Glassfish(视频)

java - Hibernate引用@MapKey

java - 获取 'java.security.cert.CertPathValidatorException: timestamp check failed' 但证书未过期并且在其他服务器上工作

java - 如何使用 Maven 插件从带有注释的现有实体生成 DDL?