@ManyToMany CascadeType.ALL时save报detached entity passed to persist怎么办
发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,这篇文章给大家介绍@ManyToMany CascadeType.ALL时save报detached entity passed to persist怎么办,内容非常详细,感兴趣的小伙伴们可以参考借鉴
千家信息网最后更新 2025年01月27日@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 Setgroups = 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安全错误
数据库的锁怎样保障安全
h3c服务器设置u盘启动
武汉汇通网络技术有限公司
国企软件开发一般月薪多少
如何配置本地连接数据库
动漫制作网络技术
软件开发设计论文
数据深圳软件开发一部
建立数据库专人管理
失落的方舟steam服务器维护
网络安全突发应急制度
分期软件开发的账务处理
dns服务器在哪个国家
清华软件开发硕士年薪
结合自身实际有关网络安全
sql2008数据库紧急
谈谈新的网络安全威胁
有关网络安全方面的内容
社区对企业网络安全工作总结
幻塔pc无法连接服务器
网络技术实训的收获
商品销售数据库设计的E-R图
伟创力495w服务器电源
魔兽世界进不了个别服务器
魔兽世界服务器不接受转移
数据库管理自考题
女生学软件开发专业
山东沃德网络技术电话
天基信息网络技术发展
网络安全班会教案设计
金钱是资源分配数据库