Red Hat Training

A Red Hat training course is available for Red Hat JBoss Web Server

6.3. 1つのクラスに1つ以上のマッピング

ある永続クラスに、一つ以上のマッピングを提供することが出来ます。この場合、マッピングする2つのエンティティのインスタンスを明確にするために、 エンティティ名 を指定しなければなりません。デフォルトではエンティティ名はクラス名と同じです。Hibernate では、永続オブジェクトを扱うとき、クエリを書き込むとき、もしくは指定されたエンティティへの関連をマッピングするときに、エンティティ名を指定しなければなりません。
<class name="Contract" table="Contracts"
        entity-name="CurrentContract">
    ...
    <set name="history" inverse="true"
            order-by="effectiveEndDate desc">
        <key column="currentContractId"/>
        <one-to-many entity-name="HistoricalContract"/>
    </set>
</class>

<class name="Contract" table="ContractHistory"
        entity-name="HistoricalContract">
    ...
    <many-to-one name="currentContract"
            column="currentContractId"
            entity-name="CurrentContract"/>
</class>
class の代わりに entity-name を使って関連が指定されました。