0

マイ コレクション マッピング ファイルには、次の関係が含まれています。

<set inverse="false" lazy="true" name="collectionMembers" sort="unsorted" cascade="save-update,delete-orphan">
        <key>
            <column name="COLLECTION_CD" />
        </key>
        <one-to-many class="CollectionMember" />
    </set>

CollectionMember マッピング ファイルには、次の双方向の関係が含まれます。

<many-to-one name="collection" class="Collection" lazy="false">
        <column name="COLLECTION_CD" length="36" not-null="true" />
    </many-to-one>

したがって、Collection には CollectionMembers のコレクションが含まれます

私が直面している問題は、CollectionMember をセットから削除して削除しようとすると、次のエラー メッセージが表示されることです。

cannot update ("COLLECTION_MEMBER"."COLLECTION_CD") to NULL

ここで削除ではなく更新を実行しようとしているのはなぜですか?

ありがとう

4

1 に答える 1

2

ここで削除ではなく更新を実行しようとしているのはなぜですか?

inverse="false"コレクションが関連付けを担当していることをHibernateに伝えたため、コレクションから削除する- >行間の関連付けを削除する->外部キーをnullに設定する

おそらくあなたが望むのはinverse="true" cascade="all-delete-orphan"

于 2012-08-23T11:25:51.017 に答える