千家信息网

jpa中无法删除onetomany中many怎么办

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,这篇文章主要介绍"jpa中无法删除onetomany中many怎么办",在日常操作中,相信很多人在jpa中无法删除onetomany中many怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的
千家信息网最后更新 2024年11月19日jpa中无法删除onetomany中many怎么办

这篇文章主要介绍"jpa中无法删除onetomany中many怎么办",在日常操作中,相信很多人在jpa中无法删除onetomany中many怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"jpa中无法删除onetomany中many怎么办"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    jpa 无法删除onetomany中many问题

    问题描述

    今天在做项目遇到一个问题,建立两个实体order和orderDetail,他们是onetomany关系,当我想要之间删除一个orderDetail时,发现不能删除但是程序也不出错。

    实体建立模型如下图:

    order中:

    orderDetail中:

    解决思路

    1.首先我想到了直接删除orderDetail不行,是否可以直接通过update order的关联关系进行级联删除啦,于是写了一下代码

    结果发现这样是可以删除orderDetail,但是这种删除方式并不是我想要的,而且感觉也不是最好的解决方法。

    2.在结合上一种方法实现成功后,突然想到是否是关联关系建立的原因,如果我先把关联关系断开,在进行删除orderDetail是否能成功:

    结果证明,成功删除

    小结一下

    虽然实现了我想要的功能,但是jpa的删除具体逻辑还需要深入研究。自我感觉是因为order是关系维护方,想要删除many端就必须先断开关系在进行删除

    jpa @OneToMany 删除不了集合数据

    在使用jpa的时候,如果有@OneToMany关系。想删除many的单个数据。有时候删除不了。 jap关系如下:一个用户对应多个角色。并且user实体中CascadeType.ALL

    //user实体@OneToMany(cascade = CascadeType.ALL,fetch= FetchType.LAZY,mappedBy = "user")    private Set roles = new HashSet();//role实体@ManyToOne(fetch= FetchType.LAZY)    @JoinColumn(name="user_id")    private User user;

    这时候如果想删除role。必须做2个事情,1、删除role。2、把role从集合roles中移除。如下:

    roleRepo.delete(role);//这里删除操作需要delete和从集合中remove一起操作才能生效user.getRoles().remove(role);userService.update(user);

    如果不这样操作。就会不生效。

    到此,关于"jpa中无法删除onetomany中many怎么办"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

    实体 怎么办 问题 学习 成功 方法 关联 感觉 数据 更多 结果 帮助 不行 实用 接下来 两个 之间 事情 代码 功能 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 乌鲁木齐服务器网关 庆阳市网络安全工作会议 南京珠海鸿瑞网络安全隔离 聊天室数据库设计 长沙涨乐互联网科技有限公司 软件开发分批付款怎么入账 网络安全模式能打联盟么 美的集团电控软件开发 我的世界手游2b2b服务器 推进 网络安全 信息化工作 简述神经网络技术的发展 网络安全行业形势 侧方位数据库查询 剑网三 阵营 服务器 2022 未转变者一定要服务器才能联机吗 南京短视频商城软件开发 数据库表名要求 速记英语单词软件开发 数据库有效性规则大于小于怎么写 山东联通124段服务器 木瓜互联网科技布沙发垫 阿里云数据库单表能存多少条数据 通用数据库查询分析器 软件开发运作 大型软件开发的角色 哪种属于小型数据库管理系统 怎么下载服务器文件 全国农产品价格数据库水果 阜阳设备保养管理软件开发平台 光明区光纤网络技术开发动态
    0