これは私のシナリオです。
モデレーターのセットを保持するSubForumクラスがあり、そのセットの各エンティティintはユーザークラスです。
これはサブフォーラムのマッピングです
<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>
そのマッピングにより、テーブル、サブフォーラム、ユーザー、subforums_moderators がすべて適切な構成で期待どおりに生成されました。
問題は、sub_forum のセットから「モデレーター」を削除しようとすると、このアクションが DB に反映されないことです。(新しいモデレーターを同じリストに追加すると、予想どおりsubforums_moderatorsに関連付けがあります)。
サブフォーラム全体を削除すると、subforums_moderatorsのすべての関連付けも削除されます。
私は何を間違っていますか?