@ManyToMany CascadeType.ALL时save报detached entity passed to persist怎么办
发表于:2024-10-01 作者:千家信息网编辑
千家信息网最后更新 2024年10月01日,这篇文章给大家介绍@ManyToMany CascadeType.ALL时save报detached entity passed to persist怎么办,内容非常详细,感兴趣的小伙伴们可以参考借鉴
千家信息网最后更新 2024年10月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 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安全错误
数据库的锁怎样保障安全
武汉软件开发集中区
许昌服务器dns是多少
软件开发运营公司尽职调查
plsql导出导入数据库
广泛宣传增强网络安全意识
合肥专业性网络技术咨询
ctf网络安全大赛安徽省赛
电脑服务器和交换机需要网线吗
潜渊症怎么保存服务器
服务器公网ip怎么获得
测试岗面试数据库
sdlserver数据库技术
河南软件开发工资
数据库中的字母怎么加11位数字
阿里云金融服务器在哪里
唐山滦县 软件开发
计算机网络技术的行业有多少
泰兴个性化网络技术解决方案
国家网络安全宣传周线上论坛
梦幻西游手游浪漫满屋服务器
智能运维软件开发
软件开发企业怎么运作
mysql的系统数据库
2680v3是服务器吗
数据库记录变更日志
苹果手机为何连不上数据库
期货软件开发公司西安
软件开发登记交付 纠纷
电厂sis网络安全
深度学习计算服务器