Red Hat Training

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

7.3.4. 3項関連

3項関連のマッピングには3つのアプローチがあります。1 つ目は関連をそのインデックスとして Map を使用するアプローチです:
<map name="contracts">
    <key column="employer_id" not-null="true"/>
    <map-key-many-to-many column="employee_id" class="Employee"/>
    <one-to-many class="Contract"/>
</map>
<map name="connections">
    <key column="incoming_node_id"/>
    <map-key-many-to-many column="outgoing_node_id" class="Node"/>
    <many-to-many column="connection_id" class="Connection"/>
</map>
2つ目は単純に関連をエンティティクラスとしてモデルを作り直すアプローチで、 最も一般的です。
最後は composite 要素を使うアプローチです。これに関する議論は後ほど行います。