当数据库有一对多关系的时候,删除1方数据的时候必须先删除多方数据(或者把数据库1的一方表的表外键指控),当我们使用SSH框架开发的时候,hibernate已经帮我们做好级联删除了,只需要在set标签上加cascade=“delete”,就可以做级联删除了,但是我今天做练习的时候出现这个错误。could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.except
这是一个外键错误,我在网上找了很多原因(在这里简单列几个):
① 是因为数据库还有其他表的外键指向该表的主键
② 是因为set标签上缺了一个配置。
下面是我set
标签上的配置 。
<set name="linkMans" cascade="delete" inverse="true">
<key column="lkm_cust_id" />
<one-to-many class="com.crm.domain.LinkMan"/>
这样就解决了,特此记录。