日期:2014-05-20  浏览次数:20823 次

hibernate在没有外键约束的条件下怎样进行级联删除?
刚用hibernate作持久层,对这个并不熟悉。求高手帮助?
映射文件如下:
XML code

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.ffcs.cip.entity.ShopDict" table="cip_shop_dict">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="identity" />
        </id>
        <many-to-one name="parent" class="com.ffcs.cip.entity.ShopDict" column="parent_id" />
        <property name="name" type="java.lang.String">
            <column name="name" length="50" />
        </property>
        <property name="orderId" type="java.lang.Integer">
            <column name="order_id" />
        </property>
        <set name="childs" inverse="true" cascade="all-delete-orphan" lazy="true" table="cip_shop_dict">
            <key column="parent_id"/>
            <one-to-many class="com.ffcs.cip.entity.ShopDict"/>
        </set>
    </class>
</hibernate-mapping>


数据库设计如下:
create table dict
 (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '父ID',
  `name` varchar(50) DEFAULT NULL COMMENT '字典名称',
  `order_id` int(11) DEFAULT NULL COMMENT '排序',
  PRIMARY KEY(`id`)
 )ENGINE=InnoDB DEFAULT CHARSET=utf8;

------解决方案--------------------
代码呢?