1

私は休止状態の多対多の関連付けを使用しています。私は3つのテーブル(STUDENT、COURSE、STUDENT_COURSE)を持っています。3 つのテーブルのうち、2 つがメイン テーブルで、1 つがリレーションシップを提供するための中間テーブルです。レコードが STUDENT から削除されると、対応するマッピングが STUDENT_COURSE から削除されます。私の要件は、COURSE テーブルからレコードを削除することです。以下のように STUDENT_COURSE エントリを検討してください。

S-Id  C_ID
101   201
102   202

101 が STUDENT テーブルから削除されると、上記のテーブルの最初のエントリは削除されますが、COURSE テーブルの 201 に対応するレコードはそのまま残ります。どうすればそのレコードを削除できますか? 削除クエリを実行する必要がありますか? 多対多の関係シップは気にしませんか?以下は私の構成です:

<set name="course" table="STUDENT_COURSE" 
            inverse="false" lazy="false" fetch="join" cascade="all" >
            <key>
                <column name="S_Id" not-null="true" />
            </key>
            <many-to-many entity-name="COURSE">
                <column name="C_Id" not-null="true" />
            </many-to-many>
        </set>

ありがとう!

4

1 に答える 1

1

Student => STUDENT_COURSEマッピングのStudenthbmで構成を行ったinverse and cascadeのと同じように、STUDENT_COURSE => COURSEマッピングでも、STUDENT_COURSEhbmで行う必要があるのと同じです。

于 2012-06-04T13:34:37.680 に答える