我有一个课程对象。课程对象有一组教程和一组应用程序。 当我删除课程对象时,我希望删除相关的教程和应用程序集。 我的course.hbm如下
和我的application.hbm包含
<property name="appdatetime" type="timestamp">
<column name="appdatetime" length="19" />
</property>
<property name="appstatus" type="java.lang.Integer">
<column name="appstatus" />
</property>
<property name="apptype" type="java.lang.Integer">
<column name="apptype" />
</property>
<many-to-one name="course" column="cid"/>
<many-to-one name="employee" column="empid" />
</class>
答案 0 :(得分:0)
设置cascade =“delete-orphan,all”,删除操作将级联到教程和应用程序,如果它们是孤立的(没有连接到任何其他课程),也会删除它们。
我们使用hibernate注释,所以我不确定要添加的确切xml,但是从文档来看,看起来cascade =“all-delete-orphan”应该是每个集合定义。
答案 1 :(得分:0)
虽然可以在休眠时执行此操作,但正确的方法(始终确保数据库的完整性)是在数据库级别上使用CASCADE ON DELETE约束。查看数据库文档以获取详细信息