0

次のステートメントを検討してください。

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

どこ:

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

Hibernate が構成データを取得するファイルを指定する方法は? 説明すると、適切な構成データを含む hibernate.cfg.xml がありますが、実行時に hibernate が別のプロジェクトの構成を参照するエラーをスローします。

org.hibernate.MappingNotFoundException: resource: xx/AnotherNonRelatedProject/CertainClass.hbm.xml not found

とにかく、デフォルト設定は別のファイルから来ていると思います。しかし、hbm.xml ファイル、クラス、および参照を検索しましたが、問題ないようです。

ここで何が起こっているかについて何か考えはありますか?

エクリプス: インディゴ SR2; 休止ツール: 3.5.1

ありがとう!

4

2 に答える 2

1

独自のHibernate構成を設定する場合は、以下を使用する必要があります。

private static final SessionFactory sessionFactory;
    static {
        try {
            // Create your SessionFactory from hibernate.cfg.xml
            sessionFactory = new Configuration().configure(new File("hibernate1.cfg.xml"))
                    .buildSessionFactory();
        } catch (Throwable ex) {
            throw new ExceptionInInitializerError(ex);
        }
    }

よろしくお願いします :)

于 2013-02-28T13:30:53.670 に答える
0

私は自分の特定の問題を発見したので、自分の質問に答えています。これは、質問の問題に関する別の問題であると思います。

私のアプリケーションは Web ベースであるため、Tomcat の lib フォルダーには、休止状態の構成に問題がある別のプロジェクトの .jar ファイルがあります。Hibernate は、Tomcat の lib 内のすべての jar を含む、一部のプロジェクト (すべての .jar を含む) に関連するすべての依存関係をチェックします。そのため、実行時に発生する例外 (当時の私にはまったく奇妙でした) がありました。.jar ファイルの hibernate 構成の問題を解決するか、Tomcat の lib フォルダーからそれらを削除する (必要でない場合) と、問題が解決します。

于 2013-03-01T14:00:05.717 に答える