2 つのテーブル (Patient と Study) の間に多対 1 の関係があります。患者が削除されると、彼の研究もすべて削除されると思います。hbm.xmlファイル内の関連する行は次のとおりです。
<class name="Study" table="Studies">
<id name="Uid">
<generator class="guid"/>
</id>
<many-to-one name="Patient" class="Patient" column="PatientId" lazy="false" cascade="all"/>
</class>
と:
<class name="Patient" table="Patients">
<id name="Uid">
<generator class="guid"/>
</id>
<property name="PatientId"/>
<property name="Name" />
</class>
NHibernate 3.3.1とMySQL サーバーを使用しています。設定することで、 MySQLワークベンチで FK オプションが に設定されることcascade=all
を期待していますが、代わりに に設定されています。(ワークベンチを介して)手動で変更すると、すべて正常に動作します。自動的に設定する方法はありますか?hbm.xmlファイルにも設定を試みましたが、うまくいきませんでした。On Delete
CASCADE
RESTRICT
CASCADE
CASCADE
on-delete=cascade
助言がありますか?