Hibernate 3.5-Final终于面世了,它提供了备受期待的JPA2支持以及其他功能。我正在使用JBoss 5.1.0.GA和Hibernate 3.3进行项目(基于EJB3),但是我想利用JPA2并尝试升级到Hibernate 3.5。
我所做的工作非常简单和标准-我只是将所有的hibernate3.5 jar放在server / configuration(默认,全部等)/ lib文件夹中- 这样,它们优先于JBoss随附的hibernate工件。似乎JBoss附带了依赖于hibernate3.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
我环顾四周,没有找到任何记录的升级路径。这里甚至有一个关于该主题的未解决问题。
有什么想法,建议吗?在此先感谢您的帮助。
似乎JBoss附带了依赖于hibernate3.3的JPA1实现部分的库。
是的,确实可以(请参阅此旧邮件以了解想法),而且我认为您当前的方法不可行。我的理解是JPA 2集成是为JBoss 5.2计划的,但似乎他们决定跳过此分支以直接转到JBoss6.x。