在hibernate中many to many关系是不是只能有一端进行维护

来源:百度知道 编辑:UC知道 时间:2024/05/29 00:25:42
比如我有两张表teacher和student
以下是teacher表中的部分配置:
inverse="false" cascade="save-update"
既关系由teacher表维护。
在student表中的inverse属性设置为true,既关系由teacher表维护。

那是不是说many to many 关系只能有一个维护端呢?
若可以两端同时维护那该如何配置呢?
请您指点一二!小弟在此谢过了!
我知道many to many关系是通过中间表来建立关系的,但是我问的是两个表的维护端是否能够两端都能够互相来维护噢!

<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"
class="Address"/>
</set>
</class>
<class name="Address">
<id name="id" column="addressId">
<generator class="native"/>
</id>
<set name="people" inverse="true" table="PersonAddress">
<key column="addressId"/>
<many-to-many column="personId"
class="Person"/>
</set>
</class>
很简单的例子
many-to-many是需要一个中间表的,比如说:人和地址,一个人对与中间表住址表来说可以有多个住址,而一个地址对于中间表住址来说可以有多个人住,中间表存在双重主键,对两个表来说就是many-to-many

1对多,最好用list