*Cannot delete or update a parent row: a foreign key constraint fails ... /ConstraintViolationExcept

原创 2016年05月30日 12:55:05

无论xml还是注解,多对一单向的时候(例如用户user和角色role,在用户一方设置ManytoOne,而在角色那一方什么都不设):那么要删除数据库一个role记录的时候,报了这个异常:
*Cannot delete or update a parent row: a foreign key constraint fails …
*org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update….
【原因】因为有其他表的外键关联到role(要删除表)的主键,导致删除失败。
【解决办法】:
1,手动解决。在删除role前先将与role关联的user的外键设为空,user.setRole(null),从而实现不级联删除。
或者,在删除role前先将与role关联的user删除,从而实现级联删除。
2,将多对一单向改为多对一(一对多)双向。
这样对表的字段和数据没有任何影响。只需在对应的role类中添加相应字段和setget方法:Set users=new HashSet(),然后在role上添加xml映射文件(或者注解)的配置。
如此一来,不想级联删除的话就不用做任何修改。想设级联删除的话只需在role的映射文件(或者注解)中添加cascade=”delete”(或者cascade=CascadeType.REMOVE),不会报任何级联删除的异常。
推荐第二种方法。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Cannot delete or update a parent row: a foreign key constraint fails解决方法

我在使用delete from table语句清空一个表数据时,报错 Cannot delete or update a parent row: a foreign key constraint fa...
  • u014163625
  • u014163625
  • 2015年03月26日 15:22
  • 3782

SSH项目Cannot delete or update a parent row: a foreign key constraint fails ...异常

出现这个异常的原因是因为你要删除的表和另一张表有关联外键,在网上找了很多方法,例如,在表的映射文件里设置cascade="delete"等方法,我觉得没什么问题,但是依然报错,最后我的解决办法是,在删...
  • a2459956664
  • a2459956664
  • 2017年02月16日 11:03
  • 461

hibernate 级联删除报Cannot delete or update a parent row: a foreign key constraint fails异常

Cannot delete or update a parent row: a foreign key constraint fails hibernate 级联删除
  • hitman9099
  • hitman9099
  • 2010年07月29日 14:19
  • 16937

#1451 - Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法

错误 SQL 查询: DELETE FROM `zmax_lang` WHERE CONVERT( `zmax_lang`.`lang` USING utf8 ) = '...
  • donglynn
  • donglynn
  • 2013年12月01日 15:49
  • 20012

ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

可能是由于表之间相互关联 可设置SET FOREIGN_KEY_CHECKS = 0; 完成后记得恢复
  • musenhou
  • musenhou
  • 2016年11月09日 21:05
  • 1015

表删除时 Cannot delete or update a parent row: a foreign key constraint fails 异常处理

表删除时 Cannot delete or update a parent row: a foreign key constraint fails 异常处理: 这个错误的原因是表外键关联,级联删除时出...
  • xiaoyida11
  • xiaoyida11
  • 2013年12月26日 13:52
  • 2813

#1451 - Cannot delete or update a parent row: a foreign key constraint fails (`shop`.`orders`, CONST

mysql语句查询: delete FROM user WHERE uid = 7;报错:1451 - Cannot delete or update a parent row: a foreign ...
  • zjy15203167987
  • zjy15203167987
  • 2017年02月19日 21:15
  • 2259

ERROR 1217 (23000) at line 19: Cannot delete or update a parent row: a foreign key constraint fails

mysql命令行 导入sql报错: Enter password:  ERROR 1217 (23000) at line 19: Cannot delete or update a pa...
  • csdnhadoop
  • csdnhadoop
  • 2016年04月17日 23:43
  • 1151

MySQL的數據庫drop不了Cannot delete or update a parent row: a foreign key constraint fails

MySQL的數據庫drop不了, 出現以下message, 可以試下 SET FOREIGN_KEY_CHECKS = 0; mysql> drop database myDB; ER...
  • cmk128
  • cmk128
  • 2013年02月24日 01:07
  • 2166

ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails...问题解决

mysql> delete from users_table where id =1; ERROR 1451 (23000): Cannot delete or update a parent ro...
  • u012453607
  • u012453607
  • 2014年09月16日 16:51
  • 2614
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:*Cannot delete or update a parent row: a foreign key constraint fails ... /ConstraintViolationExcept
举报原因:
原因补充:

(最多只允许输入30个字)