首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以在NetWeaver 7.3上使用Hibernate 4.3吗?

可以在NetWeaver 7.3上使用Hibernate 4.3吗?
EN

Stack Overflow用户
提问于 2014-08-19 20:50:30
回答 1查看 608关注 0票数 0

是否有人能够在运行在Java7.3的NetWeaver上的应用程序中使用Hibernate 4.3。我遵循这里的示例:http://scn.sap.com/docs/DOC-1349通过创建一个Hibernate应用程序库容器项目来使用重型资源类装入器,该项目包含以下jar文件:

  • antlr-2.7.7.jar
  • dom4j-1.6.1.jar
  • hibernate-commons-annotations-4.0.5.Final.jar
  • hibernate-core-4.3.6.Final.jar
  • hibernate-jpa-2.1-api-1.0.0.Final.jar
  • jandex-1.1.0.Final.jar
  • javassist-3.18.1-GA.jar
  • jboss-logging-3.1.3.GA.jar
  • jboss-logging-annotations-1.2.0.Beta1.jar
  • jboss-transaction-api_1.2_spec-1.0.0.Final.jar
  • xml-apis-1.0.b2.jar

然后部署Hibernate.ear并将其作为引用添加到我的应用程序-J2EE-Engin.xml文件中:

代码语言:javascript
复制
<reference reference-type="hard">
    <reference-target provider-name="sap.com" target-type="application">Hibernate</reference-target>
</reference>

我的应用程序可以找到hibernate jars并使用它们,但是我得到了以下错误:

代码语言:javascript
复制
java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey

当Hibernate使用较早版本的JPA时,就会发生这种情况。Hibernate 4使用JPA的2.1版本,因此需要hibernate-JPA-2.1-API-1.0.Final.jar文件中的类,而不是NetWeaver提供的类JPA1.0。

我认为该应用程序获得了JPA类的1.0版本,因为在查找javax.persistence.*类时,重型资源类加载器首先将委托给它的父类加载器,因此它在那里查找1.0JPAAPI类,而不是像我希望的那样从Hibernate.ear应用程序中定义的jar中获得它们。

是否有任何方法指定重型资源类装入器成为子第一类型的类加载器?或者有人找到了在NetWeaver 7.3中使用Hibernate 4.3的另一种方法。我对NetWeaver一点也不熟悉,所以任何的指导都将不胜感激。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-20 09:41:39

我是一个SAP NetWeaver顾问,我不想带来坏消息:因为SAPJAP7.3是基于Java 5的,所以它目前只支持JPA1.0.

关于这个话题,有一个关于SCN的生动话题,它起源于2011年(http://scn.sap.com/thread/2028916),至今仍在更新(值得阅读所有评论!)

请允许我引述罗尔夫·保尔森2014年1月15日在该主题上发表的一篇文章:

最后,4年SAP语句的有趣总结: 2009年12月14日:“现在是时候将它引入到我们的开发中去了,但是没有计划(在标准发布一周后)来告诉我们什么时候这个标准将成为产品的一部分。” 2012年4月4日,:“后来还计划将Neo的特性带到前提环境中,当这种情况发生时,我无法回答。” 2014年1月14日:“正在开发中,计划在今年上半年看到曙光。”“这是带有web配置文件的插件。从那时起,我们将把它与云更新协调起来。”不要太快。SAP将一些Tomcat 6从SAP插入到遗留的Java 5 NetWeaver Java中?只有此插件才能与support (这在Java 6 Web配置文件中足够好)进行协调,并支持Java 6特性?听起来像Tobias对这个问题的“永远”的回答“什么时候SAP作为Java 6/7看到光明”仍然是正确的。SAP作为NetWeaver本身将永远停留在Java 5上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25392730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档