Hibernate 3.5-Finalがついにリリースされ、待望の JPA2 サポートなどの機能が提供されます。JBoss 5.1.0.GA と Hibernate 3.3 を使用するプロジェクト (EJB3 ベース) に取り組んでいますが、JPA2 を利用したくて、Hibernate 3.5 にアップグレードしようとしました。
私がしたことはかなり単純で標準的でした。すべての休止状態の 3.5 jar を server/configuration(default,all,etc)/lib フォルダーに配置しただけです。こうすることで、JBoss に同梱されている休止状態のアーティファクトよりも優先されます。JBoss には、休止状態 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
私はネットを見回しましたが、文書化されたアップグレードパスは見つかりませんでした。このトピックに関するスタック オーバーフローでは、未回答の質問さえありました。
アイデア、提案はありますか?よろしくお願いします。