6.3.4. 三重关联(Ternary associations)

有三种可能的途径来映射一个三重关联。第一种是使用一个Map,把一个关联作为其索引:

  1. <map name="contracts">
  2. <key column="employer_id" not-null="true"/>
  3. <map-key-many-to-many column="employee_id" class="Employee"/>
  4. <one-to-many class="Contract"/>
  5. </map>
  1. <map name="connections">
  2. <key column="incoming_node_id"/>
  3. <map-key-many-to-many column="outgoing_node_id" class="Node"/>
  4. <many-to-many column="connection_id" class="Connection"/>
  5. </map>

第二种方法是简单的把关联重新建模为一个实体类。这使我们最经常使用的方法。

最后一种选择是使用复合元素,我们会在后面讨论