1

プロジェクトに次の構造を使用して、休止状態でスタンドアロン アプリケーションを開発しています。 ここに画像の説明を入力

これは、hibernate.cfg.xml ファイルの場所を hibernate に伝えた方法です (はい、Hibernate とチャットしています)。

File hibernateConfigurationFile = new File("..\\resources\\hibernate.cfg.xml");
...
Configuration().configure(hibernateConfigurationFile).buildSessionFactory();

これは、Event.hbm.xml ファイルの場所を hibernate に指示した方法です。

<mapping resource="../resources/test/Event.hbm.xml"/>

私も試しました:

<mapping resource="test/Event.hbm.xml"/>

しかし、コンパイルすると、次のエラーが発生します。

最初の SessionFactory の作成に失敗しました。org.hibernate.MappingNotFoundException: リソース: test/Event.hbm.xml が見つかりません

hibernate.cfg.xml ファイルで間違ったマッピング ファイル パスを指定したためだと理解しています。そのため、Event.hbm.xml ファイルを移動したところ、プロジェクトの構造は次のようになりました。ここに画像の説明を入力

そして、すべて正常に動作します。

私の問題は、自分の Event.hbm.xml を resource\test ディレクトリに保持したいということです。hibernate.cfg.xml ファイルでそれをどのように示すことができますか? 相対パスを試しましたが、うまくいきません。休止状態のドキュメントを読みましたが、何も見つかりませんでした。何か提案はありますか?

4

2 に答える 2

2

休止状態構成を構築するプログラムによる方法を試すことができ、言うことができます

SessionFactory sf = new Configuration()
    .addFile("yourpath/Event.hbm.xml")

でマッピングリソースを宣言する代わりにhibernate.cfg.xml

この方法を参照してください

于 2013-04-15T10:44:37.143 に答える
0

私は同じ問題に直面していました

私はこれを使いました

<mapping file=".\hibernate\groupResult.hbm.xml" />

マッピングに属性ファイルがあることを意味します

.\hibernate\groupResult.hbm.xml

そのgroupResult.hbm.xmlのそのhibernateフォルダーのプロジェクトフォルダーになります

これがあなたを助けることを願っています!

乾杯!

于 2016-02-29T06:33:14.937 に答える