@ManyToMany CascadeType.ALL时save报detached entity passed to persist怎么办
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家介绍@ManyToMany CascadeType.ALL时save报detached entity passed to persist怎么办,内容非常详细,感兴趣的小伙伴们可以参考借鉴
千家信息网最后更新 2026年11月02日@ManyToMany CascadeType.ALL时save报detached entity passed to persist怎么办
这篇文章给大家介绍@ManyToMany CascadeType.ALL时save报detached entity passed to persist怎么办,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
一、有2个实体,用户,角色、用户-角色中间表。关系如下:
public class User{ @ManyToMany(cascade = CascadeType.ALL) @JoinTable(name = "user_role", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "role_id")) private Set groups = new HashSet(); //省略 getter、setter} 二、保存数据User代码如下:
User user = new User();Group g = groupRepo.findById(8);//数据库查询Set gruops = new HashSet();gruops.add(g);user.setGroups(gruops);userRepo.save(user);
userRepo.save(user);保存数据时会出现错误detached entity passed to persist。
错误原因: 保存
user时想去级联保存gruops。但是gruop已经有id值了。所以报错。解决方案,把
user.setGroups(gruops);放到保存user之后。如下:
User user = new User();userRepo.save(user); //先保存userGroup g = groupRepo.findById(8);//数据库查询Set gruops = new HashSet();gruops.add(g);user.setGroups(gruops); //再设置groupsuserRepo.save(user); //最后更新user
关于@ManyToMany CascadeType.ALL时save报detached entity passed to persist怎么办就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
数据
怎么办
内容
数据库
更多
用户
角色
错误
帮助
查询
不错
代码
兴趣
原因
实体
小伙
小伙伴
文章
方案
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司
互联网高科技
小米移动互联网科技园
江苏根荣互联网科技
互联网科技公司的优势
互联网科技财经
互联网中国科技
小马过河互联网科技
互联网科技股有哪些
互联网科技公司需要的职位
银川新华互联网科技职业技术培训学校图片
青岛科技大学互联网大赛研究生
互联网科技和信息
威龙国际互联网科技公司
四川慕妮娅互联网科技有限公司
科技互联网的核心竞争力
杭州披云加互联网科技有限公司
中国新注册互联网科技
互联网科技企业商标注意事项
互联网大会出现的黑科技
上海睿民互联网科技有限公司
科技赋能下的互联网金融
科技互联网公司装修
互联网科技公司的市场部门
创业天下互联网科技有限公司
彤创互联网科技有限公司
中国航天科技大学国际工业互联网
易企秀互联网科技是做什么的
济南小医互联网科技有限公司招聘
珠海东科互联网科技有限公司