私のアプリでJPA 2.0を実装する際に問題が発生しています。私はCriteriaクエリを使用しており、EntityManagerからセッションを取得する必要があります。私は以下の方法でそれを行います(thisによる) セッションses = entityManager.unwrap(Session.class);EntityManager.unwrap()throw java.lang.AbstractMethodError
のTomcat 7.0.8の上で実行した後、私は、次を得る:
Struts has detected an unhandled exception:
# Messages: org.hibernate.ejb.EntityManagerImpl.unwrap(Ljava/lang/Class;)Ljava/lang/Object;
Stacktraces
java.lang.reflect.InvocationTargetException
java.lang.AbstractMethodError: org.hibernate.ejb.EntityManagerImpl.unwrap(Ljava/lang/Class;)Ljava/lang/Object; sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
はまた、私は(私は問題がある疑いがある場合)、以下にHibernate関連の依存関係を参照しています:
hibernate-3.2.5.ga.jar
hibernate-annotations-3.4.0.GA.jar
hibernate-commons-annotations-3.1.0.GA.jar
hibernate-core-3.3.0.GA.jar
hibernate-entitymanager-3.4.0.GA.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
これについてお考えですか?
解決済み! hibernate.orgから最新のhibernate jarをダウンロードしました。また、同じパッケージ名を持ち、ビルドパス順でhibernate-jpa-2.0 jarの前にあったクラスパスにejb3-persistence.jarがありました。そのjarはJPA 2.0仕様を実装していませんでした。 –
@arielあなたはおそらく[私の答えを受け入れる]必要があります(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –