JPA 保存时报 Duplicate entry '33382-1-0' for key xxx

· 这个问题是因为本表是因为对于一个关联的外键表存在一个唯一约束,然而你又对于这个唯一约束新增了一个同样的字段。所以需要你去查看 新增这个关系表对应的外键是否存在,或者JPA 一对多的关系是否选择的是同时合并、和同时持久化操作。如果是同时持久化操作就会在更新外键表的时候自己修改主表(根据主表的ID来修改,如果没有的id 就会帮你新增一个主表数据)。

ALL
级联所有实体状态转换

PERSIST
级联实体持久化操作。

MERGE
级联实体合并操作。

REMOVE
级联实体删除操作。

REFRESH
级联实体刷新操作。

DETACH
级联实体分离操作。

@OneToMany(cascade = {CascadeType.ALL} ,fetch= FetchType.EAGER)

我是因为在原来生成的主表上面没有ID ,先保存了主表数据,再来保存外键表。导致出现这个异常。只要把 1对多 、或者 1对1 的关系 cascade 类型+ 同时持久化,把主键表的信息赋值给外键表 然后更新外键表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值