質問

Glassfish V2でSpring HibernateJPavendoradapterでHibernate 3.5.5を使用しようとしていますが、スプリングのコンテキストが初期化されている場合、次の例外が表示されます。

java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode;

org.hibernate.ejb.util.loghelper.logpersistenceunitinfo(loghelper.java:39)at org.hibernate.ejb.ejb3configuration.configure(ejb3configuration.java:517) :73)

問題は、Glassfish V2がhibernate-JPA-2.0-API-1.0.0.final.jarの前にサーバークラスパスにロードされるJPA1.0を使用していることです。 JPA 1.0には、PersistenceUnitinfoでGetSharedCacheModelメソッドがありませんが、JPA 2.0はそうです。

Glassfish V2をアップグレードしてJPA 2.0(またはこの問題のその他の解決策)を使用する方法はありますか?

乾杯、

j

役に立ちましたか?

解決

JPA 2.0ジャーを /domain/lib/endorsed 監督

他のヒント

フィードバックのみんなをありがとう。 JPAジャーを/domain/lib/boting edonsed in in in fort fort for for for confer emply。

設定...

<sun-web-app error-url="">
    <class-loader delegate="false"/>
</sun-web-app>

...クラスがJavaxの一部であるからですが、私のためには機能しませんでした。

また、Springのjpatemplateを削除し、JPA @persistencontext EntityManagerを直接使用しようとしましたが、これはあらゆる種類の問題を引き起こしました。 Glassfish V2 + Spring + Hibernateは友達ではありません!

私の知る限り、Java EE 5コンテナコアJPAライブラリを単純に交換して使用して、 コンテナが管理しました JPA 2.0 EntityManager。

ただし、アプリケーションレベルで提供されるJPA 2.0 APIライブラリを使用してJPA 2.0の実装を使用し、 マネージドアプリケーション JPA 2.0 EntityManager。

Glassfish V2で2番目のアプローチを試すには、クラスローダー委任をオフにする必要があります(アプリケーションライブラリが最初に使用されるように)。これはaで構成できます sun-web.xml 下にパッケージ化したこと WEB-INF:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 8.1 Servlet 2.4//EN"
        "http://www.sun.com/software/appserver/dtds/sun-web-app_2_4-1.dtd">
<sun-web-app error-url="">
    <class-loader delegate="false"/>
</sun-web-app>

Glassfish 2.1はJPA 2をサポートしません。JPA2バージョンをダウンロードして、 $GLASSFISH_HOME/lib/endorsed/ ディレクトリ、およびcommons-loggin1.1.jarに貼り付けられています。これは私にとって有効です。

このように見えます:

/glassfish/lib/承認$ ls
Activation.jar
openjpa-all-2.0.1.jar
commons-logging-1.1.jar
webservices-api.jar

http://glassfish.java.net/public/comparing_v2_and_v3.html
http://openjpa.apache.org/downloads.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top