6.3.4. 三重关联(Ternary associations)
有三种可能的途径来映射一个三重关联。第一种是使用一个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>
第二种方法是简单的把关联重新建模为一个实体类。这使我们最经常使用的方法。
最后一种选择是使用复合元素,我们会在后面讨论