首页 > 代码库 > Hibernate单向“一对多”关联

Hibernate单向“一对多”关联

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>

Hibernate单向“一对多”关联