Hibernate 3.5-Final终于来了,它提供了备受期待的 JPA2 支持以及其他功能。我正在使用 JBoss 5.1.0.GA 和 Hibernate 3.3 开发一个项目(基于 EJB3),但我想利用 JPA2 并尝试升级到 Hibernate 3.5。
我所做的非常简单和标准 - 我只是将所有 hibernate 3.5 jar 放在 server/configuration(default,all,etc)/lib 文件夹中 - 这样它们就优先于 JBoss 附带的 hibernate 工件。似乎 JBoss 附带了依赖于 hibernate 3.3 的 JPA1 实现部分的库,因为我开始收到一些关于未实现的抽象方法和部署时类似的东西的错误:
23:21:26,792 WARN [Ejb3Configuration] Persistence provider caller does not implement the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null.
23:21:26,792 ERROR [AbstractKernelController] Error installing to Start: name=persistence.unit:unitName=kernel-ear-3.3.0-SNAPSHOT.ear/config-persistence.jar#ConfigurationPersistenceUnit state=Create
java.lang.AbstractMethodError: org.jboss.jpa.deployment.PersistenceUnitInfoImpl.getValidationMode()Ljavax/persistence/ValidationMode;
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:613)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:72)
at org.jboss.jpa.deployment.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:301)
at sun.reflect.GeneratedMethodAccessor308.invoke(Unknown Source)
也许我应该使用提供的不同持久性?目前是:
org.hibernate.ejb.HibernatePersistence
我环顾了整个网络,没有找到任何记录在案的升级路径。在关于该主题的堆栈溢出中甚至还有一个 Unresolved 问题。
有什么想法、建议吗?在此先感谢您的帮助。
最佳答案
It seems though that JBoss ships with libraries that are dependent on the JPA1 implementation part of the hibernate 3.3
是的,确实如此(请参阅 this old mail 以获得想法),我认为您当前的方法是不可能的。我的理解是 JPA 2 集成计划用于 JBoss 5.2但他们似乎决定跳过这个分支直接进入 JBoss 6.x。
关于java - JBoss 5.1.0.GA 中的 Hibernate 3.5-Final,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2588108/