8

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

私はネットを見回しましたが、文書化されたアップグレードパスは見つかりませんでした。このトピックに関するスタック オーバーフローでは、未回答の質問さえありました。

アイデア、提案はありますか?よろしくお願いします。

4

3 に答える 3

7

JBossには、休止状態3.3のJPA1実装部分に依存するライブラリが同梱されているようです

はい、そうです (アイデアを得るためにこの古いメールを参照してください)。現​​在のアプローチが可能だとは思いません。私の理解では、JPA 2 統合はJBoss 5.2で計画されていましたが、このブランチをスキップして JBoss 6.x に直接移行することにしたようです。

于 2010-04-07T23:31:42.410 に答える
0

この特定の問題の回避策を作成しました。ここで再度説明する代わりに、すべての詳細を記載した投稿へのリンクを直接送信することをお勧めします。

ここで見つけることができます: JBoss 5.x で JPA2 を使用するには? (またはクラスローディング分離の問題を解消する方法は?)

于 2012-01-05T11:51:21.560 に答える
0

また、上記のリンクにいくつかの手順を追加しました。

于 2014-10-02T18:02:01.943 に答える