@ManyToMany CascadeType.ALL时save报detached entity passed to persist怎么办
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章给大家介绍@ManyToMany CascadeType.ALL时save报detached entity passed to persist怎么办,内容非常详细,感兴趣的小伙伴们可以参考借鉴
千家信息网最后更新 2025年12月01日@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安全错误
数据库的锁怎样保障安全
网络安全的丽的视频
软件开发中接口是啥
杭州百闻网络技术有限公司面试
服务器管理密码重置盘
广西网络安全集成商
华为服务器型号中文名称
天津新一代网络技术推广
java微信支付数据库设计
高职数据库技术教材
180.188.19服务器
下半年网络安全重要节点
阿里云搭建v2ray服务器
加大网络安全意识
数据库怎么追加
数据库课程设计二手市场
我的世界服务器崩溃
银行外包软件开发不是人干的
软件开发计入成本还是费用
数据操作数据库
带数据库的程序
sql数据表录入数据库
中标麒麟服务器根目录空间扩容
常见的数据库高可用技术
德颐网络代付和上海德颐网络技术
手机怎么修改网络安全密码
电脑调用手机摄像头软件开发
网络安全风险核查
象山标准刀片服务器专业服务
csgo选择服务器的界面不见了
江西移动城管软件开发