这是我的场景,
我有SubForum类,它拥有一组版主,该组的每个实体 int 都是User类。
这是子论坛的映射
<class name="server.Subforum">
<id name="id" type="int">
<column name="subforum_id"></column>
<generator class="identity" />
</id>
<properties name="unique_subforum" unique="true">
<property name="name" type="java.lang.String">
<column name="NAME" not-null="true" />
</property>
<property name="forumId" type="int" access="field">
<column name="forum_id"></column>
</property>
</properties>
<set name="moderators" table="subforums_moderators"
lazy="false" fetch="select" >
<key>
<column name="SUBFORUM_ID" not-null="true" />
</key>
<many-to-many column="user_id" class="server.User" />
</set>
</class>
这是用户映射:
<class name="server.User">
<id name="id" type="int" access="field">
<column name="user_id"></column>
<generator class="identity" />
</id>
<property name="username" type="java.lang.String">
<column name="USERNAME" not-null="true" />
</property>
<property name="password" type="java.lang.String">
<column name="PASSWORD" />
</property>
<property name="registrationDate" type="java.util.Date">
</property>
</class>
该映射按预期生成了表、子论坛、用户、子论坛_版主,并具有所有正确的配置。
问题是当我尝试从 sub_forum 的集合中删除“主持人”时,此操作不会反映在 DB 中。(当我将新版主添加到同一列表中时,子论坛中的版主会出现预期的关联)。
当我删除整个子论坛时,subforums_moderators中的所有关联也被删除。
我做错了什么?