hibernate文档说,建议使用单向一对多的连接表,而不是没有连接表。
外键上的单向一对多关联是 不寻常的情况,不推荐。
<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>
连接表上的单向一对多关联是 首选方案。指定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>
<class name="Address">
<id name="id" column="addressId">
<generator class="native"/>
</id>
</class>
1)为什么不建议在连接表中使用一对多?
2)我们也不能使用一对多标签而不是多对多标签来定义与连接表的关系吗?
我是Hibernate的新手,请帮助我理解这一点。