部门是一方
首现创建并同步了:
部门1
部门2部门配置文件:
<hibernate-mapping>
    <class name="com.dto.Department" table="DEPARTMENTS">
        <id name="id" type="java.lang.Integer">
            <column name="ID" />
            <generator class="native" />
        </id>
        <property name="deptname" type="java.lang.String">
            <column name="DEPTNAME" length="150" />
        </property>
        <set name="employes" cascade="save-update" inverse="true">
         <key column="DEPARTMENT_ID" not-null="false"/>
         <one-to-many class="com.dto.Employee"/>
        </set>
    </class>
</hibernate-mapping>
员工是多方
之后创建并同步了:
员工a --> 部门1
员工b --> 部门1
员工c --> 部门2员工配置文件:
....
        <many-to-one name="department" class="com.dto.Department">
         <column name="DEPARTMENT_ID" not-null="false"/>
        </many-to-one>
....在这个时刻,我执行删除“部门1”,解散部门1(我并不像级联删除部门1下的所有员工)。执行报错:org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch update; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:624)
org.springframework.orm.hibernate3.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:738)
org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:614)
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
$Proxy1.delDepartment(Unknown Source)
com.actions.DepartmentAction.delDept(DepartmentAction.java:55)