休眠删除

时间:2009-05-01 06:29:34

标签: hibernate

我有一个课程对象。课程对象有一组教程和一组应用程序。 当我删除课程对象时,我希望删除相关的教程和应用程序集。 我的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>

2 个答案:

答案 0 :(得分:0)

设置cascade =“delete-orphan,all”,删除操作将级联到教程和应用程序,如果它们是孤立的(没有连接到任何其他课程),也会删除它们。

我们使用hibernate注释,所以我不确定要添加的确切xml,但是从文档来看,看起来cascade =“all-delete-orphan”应该是每个集合定义。

答案 1 :(得分:0)

虽然可以在休眠时执行此操作,但正确的方法(始终确保数据库的完整性)是在数据库级别上使用CASCADE ON DELETE约束。查看数据库文档以获取详细信息

相关问题