*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...

jbpm4 jbpm4_execution “Cannot delete or update a parent row: a foreign key constraint fails” 异常解决

异常内容: 严重: Could not synchronize database state with session org.hibernate.exception.ConstraintV...

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

表删除时 Cannot delete or update a parent row: a foreign key constraint fails 异常处理: 这个错误的原因是表外键关联,级联删除时出...

mysql基础(六) 表删除时,报"Connot delete or update a parent row:a foreign key constraint fails"解决方案二

一、有两张表,结构如下:  t_item: t_bid: id int id ...

Cannot add or update a child row: a foreign key constraint fails 问题的处理

前言     这是错误是数据库的相关操作过程中出现的。在一个名为购物商城的项目中,处理交易数据时,做了一个测试方法,这个测试方法执行后出现的异常。 描述     1.测试方法:测试在执行交易后,更新...
  • niaonao
  • niaonao
  • 2017年04月08日 15:58
  • 436

navicat中添加表外键显示Cannoot add or update a child row;a foreign key constraint fails

我最近在做一个ssm框架的在线商城,初学,我想试试配置关联关系用association ,因为之前测试用ssm做了一个用户,所以数据库中有一个user 表,这时候我就想在数据库中加入一个role 也就...

Mysql出现 Cannot add foreign key constraint 错误

在创建外键表的时候出现了Cannot add foreign key constraint  。 这里如果设置pid 为外键,有两个必要的条件: 1:pid 不能为该表的主键(primary key)...

无法添加外键约束的原因(cannot add foreign key constraint)

首先看下面这张表Create table student (sno int(10) unsigned not null, sname varchar(20) not null, sex enum('男...

MySQL中创建外键的错误:1215 Cannot add the foreign key constraint

引言: MySQL中经常会需要创建父子表之间的约束,这个约束是需要建立在主外键基础之上的,这里解决了一个在创建主外键约束过程中碰到的一个问题。...

ORA-02291: integrity constraint: parent key not found

外键约束 ORA-02291: integrity constraint: parent key not found
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:*Cannot delete or update a parent row: a foreign key constraint fails ... /ConstraintViolationExcept
举报原因:
原因补充:

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