1. 基于连接表的单向“一对多”关联,应该优先被采用
其中指定many-to-many的unique="true",为单向“一对多”,不指定就是单向“多对多”
<class name="Person">
<id name="id" column="personId"><generator class="native"/></id>
<set name="addresses" table="PersonAddress">
<key column="personId"/>
<many-to-many column="addressId" unique="true"class="Address"/>
</set>
</class>
2. 基于外键关联的单向“一对多”关联是一种很少见的情况,不推荐使用
<class name="Person">
<id name="id" column="personId"><generator class="native"/></id>
<set name="addresses">
<key column="personId" not-null="true"/>
<one-to-many class="Address"/>
</set>
</class>
无论使用哪种方式,关联是单向的,另外一端无需额外配置
<class name="Address">
<id name="id" column="addressId"><generator class="native"/></id>
</class>