我有两个表之间的多对一关系 - Patient 和 Study。当一个病人被删除时,我希望他的所有研究也将被删除。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 服务器。通过设置cascade=all
,我希望在MySQL工作台中看到 FK 选项On Delete
将设置为CASCADE
,但它设置为RESTRICT
。当我手动将其更改为CASCADE
(通过工作台)时,一切正常。有没有办法将其设置为CASCADE
自动?我也尝试on-delete=cascade
在hbm.xml文件中进行设置,但没有奏效。
有什么建议么?