16

では、どちらか一方だけを使用するのではなく、両方の構成を混在させることは可能ですか?

私が欲しいのは、アノテーションによってすべての構成を保持し、XMLによってテーブルを読み取ることです。

出来ますか?

どうもありがとう。

編集:hbm.xmlファイルはどうなりますか?私はこれを持っています:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="MyData" table="MyTable" >
    </class>
</hibernate-mapping>

そして、dtdをコンパイルしないでください。

4

1 に答える 1

23

Hibernateドキュメント(最新)

従来のhbm.xmlの使用と注釈のアプローチを混在させることができることに注意してください。リソース要素は、hbmファイルまたはEJB3XMLデプロイメント記述子のいずれかです。この区別は、構成プロセスに対して透過的です。

注釈付きの永続クラスと従来のhbm.cfg.xml宣言を同じSessionFactoryと混在させることができます。ただし、クラスを複数回宣言することはできません(注釈付きまたはhbm.xmlを介して)。エンティティ階層で構成戦略(hbmとアノテーション)を混在させることもできません。

hbmファイルから注釈への移行プロセスを容易にするために、構成メカニズムは注釈とhbmファイル間のマッピングの重複を検出します。次に、HBMファイルは、クラスごとに注釈付きメタデータよりも優先されます。hibernate.mapping.precedenceプロパティを使用して優先度を変更できます。デフォルトは hbm, classで、これをに変更するとclass, hbm、競合が発生したときにhbmファイルよりも注釈付きクラスが優先されます。

于 2011-12-27T10:18:27.667 に答える