2

誰かがこれを調べるのを手伝ってくれませんか? このアプリケーションがこのエラーを生成している原因は何ですか? Netbeans での Hibernate の使用に関するこのチュートリアルに従っています。「from Film」という行にたどり着いた後、チュートリアルに従って、Film テーブルのレコードを読み取るテストを実行する必要がありますが、結果は以下のエラーです。何をすべきかをグーグルで検索しましたが、これまでに見たのは、javassist jar ファイルが別のディレクトリに存在する可能性があると報告されていることだけです。1 つは Hibernate (Hibernate 4.x-javassist-3.15.0.GA) ディレクトリにあり、これは事実であることがわかりました。もう 1 つは Glassfish (Glassfish Server 4) ディレクトリにあります。これをglassfish libディレクトリで検索してみましたが、そのようなものは存在しないようです。

java.lang.ClassCastException: dvdstore.Language_$$_javassist_4 cannot be cast to javassist.util.proxy.ProxyObject
    at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxy(JavassistLazyInitializer.java:147)
    at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:71)
    at org.hibernate.tuple.entity.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:631)
    at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3737)
    at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:360)
    at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:281)
    at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
    at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
    at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038)
    at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630)
    at org.hibernate.type.EntityType.resolve(EntityType.java:438)
    at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:139)
    at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:982)
    at org.hibernate.loader.Loader.doQuery(Loader.java:857)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
    at org.hibernate.loader.Loader.doList(Loader.java:2542)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
    at org.hibernate.loader.Loader.list(Loader.java:2271)
    at org.hibernate.hql.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:940)
    at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1268)
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)

プロジェクトの jar のリスト。 プロジェクトの jar ファイルのリスト ここに画像の説明を入力

4

1 に答える 1

3

古いバージョンの javassist を使用しています。Hibernate 4 の場合、3.16 より新しいバージョンの javassist が必要です。同じ問題がこの関連する質問で説明されています。Maven や Gradle などのビルド ツールを使用してプロジェクトをビルドすることを検討してください。これらのツールは、このようなバージョンの競合を回避できるように、推移的な依存関係を解決します。

于 2014-04-24T10:19:19.817 に答える