运用hibernate对主表的数据进行删除时,传入脱管态的对象,也就是非级联删除时,抛出了如下异常:

hibernate之删除主表报错

此时的删除原理是先将从表的外键设置为null,再删除掉从表中的数据,但是控制台在此时只输出了一句话:

hibernate之删除主表报错

原因是 在配置实体类时设置了外键维护:

hibernate之删除主表报错

这个时候放弃了外键维护就会不能执行将从表的外键设置null,设置不了null就不能删除主表中数据,解决办法就是将外键维护关掉,这个时候再执行:

hibernate之删除主表报错

此时再执行结果就ok啦。

相关文章: