hibernate级联删除示例

时间:2009-06-16 14:52:20

标签: hibernate

任何人都可以提供完整的2个映射文件来实现级联删除。 表示如果A包含一组B,那么当A被删除时,B将自动删除。

1 个答案:

答案 0 :(得分:0)

您只需要1个映射文件:父对象之一。例如。这个例子来自Hibernate in action

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
    <class name="hello.Message" table="MESSAGES">
    <id
        name="id"
        column="MESSAGE_ID">
        <generator class="increment"/>
    </id>
    <property
        name="text"
        column="MESSAGE_TEXT"/>
    <many-to-one
        name="nextMessage"
        cascade="all"
        column="NEXT_MESSAGE_ID"/>
    </class>
</hibernate-mapping>

“cascade”参数完成工作。如果您只想要级联删除,那么您应该使用cascade =“delete”。其他选项是“all-delete-orphan”和“delete-orphan”。查看Hibernate documentation了解详情。