我用的Struts2+Hibernate3+Spring2。
Department.hbm.xml 部门表映射文件
<?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">
<!-- 
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="vo.Department" table="department" catalog="test">
<id name="oid" type="java.lang.Integer">
<column name="oid" />
<generator class="native" />
</id>
<property name="deptName" type="java.lang.String">
<column name="deptName" length="45" />
</property>
                   <!-- 部门对员工的一对多关系 -->
<set name="set" cascade="all-delete-orphan">
<key column="deptid"></key>
<one-to-many class="vo.Employee" />
</set>
</class>
</hibernate-mapping>Employee.hbm.xml
<?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">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="vo.Employee" table="employee" catalog="test">
        <id name="oid" type="java.lang.Integer">
            <column name="oid" />
            <generator class="native" />
        </id>
        <property name="empName" type="java.lang.String">
            <column name="empName" length="45" />
        </property>
        <property name="sex" type="java.lang.String">
            <column name="sex" length="45" />
        </property>
        <property name="deptid" type="java.lang.Integer">
            <column name="deptid" />
        </property>
    </class>
</hibernate-mapping>我在删除部门时,想级联删除该部门下的员工。虽然删除了,但是MyEclipse控制台打印的语句确实下来这样的!
为什么会有一个update语句咧?Hibernate: update test.employee set deptid=null where deptid=?
Hibernate: delete from test.employee where oid=?
Hibernate: delete from test.employee where oid=?
Hibernate: delete from test.department where oid=?