返回顶部
首页 > 资讯 > 精选 >jpa中无法删除onetomany中many怎么办
  • 571
分享到

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

2023-06-21 22:06:34 571人浏览 八月长安
摘要

这篇文章主要介绍“jpa中无法删除onetomany中many怎么办”,在日常操作中,相信很多人在jpa中无法删除onetomany中many怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jpa中无法删

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

    jpa 无法删除onetomany中many问题

    问题描述

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

    实体建立模型如下图:

    order中:

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

    orderDetail中:

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

    解决思路

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

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

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

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

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

    结果证明,成功删除

    小结一下

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

    jpa @OneToMany 删除不了集合数据

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

    //user实体@OneToMany(cascade = CascadeType.ALL,fetch= FetchType.LAZY,mappedBy = "user")    private Set<Role> roles = new HashSet<Role>();//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怎么办”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    --结束END--

    本文标题: jpa中无法删除onetomany中many怎么办

    本文链接: https://lsjlt.com/news/301297.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • jpa中无法删除onetomany中many怎么办
      这篇文章主要介绍“jpa中无法删除onetomany中many怎么办”,在日常操作中,相信很多人在jpa中无法删除onetomany中many怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jpa中无法删...
      99+
      2023-06-21
    • 关于jpa中无法删除onetomany中many问题的解决
      目录jpa 无法删除onetomany中many问题问题描述解决思路小结一下jpa @OneToMany 删除不了集合数据这时候如果想删除rolejpa 无法删除onetomany中...
      99+
      2024-04-02
    • Windows中无法删除桌面IE图标怎么办
         Windows中无法删除桌面IE图标的解决方法   解决方法其实并不难,打开注册表,   转到如下图的位置,详细地址在图片最下面:   需要注意的是,你需要在NameSpace中逐个查看各个项目的数据值...
      99+
      2023-06-01
      Windows 桌面 IE 图标
    • git 无法删除分支怎么办
      随着软件开发团队越来越庞大,源代码管理变得越来越重要。Git作为最受欢迎的源代码管理工具之一,可以方便地管理和协调团队中的不同开发者的修改。不过,有时候在Git删除分支时,可能会遇到一些问题。本篇文章将介绍一些可能导致Git无法删除分支的情...
      99+
      2023-10-22
    • u盘文件无法删除怎么办
      小编给大家分享一下u盘文件无法删除怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、打开电脑资源管理器,插入U盘。点击右键,选择“属性”选项。二、接着在属性...
      99+
      2023-06-28
    • Linux中无法使用userdel删除用户和组怎么办
      这篇文章给大家分享的是有关Linux中无法使用userdel删除用户和组怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux 无法使用userdel 删除用户和组的解决方案简述:今天在看书的时候,看到有...
      99+
      2023-06-09
    • oracle中adg主库通过rman无法删除归档怎么办
      这篇文章将为大家详细讲解有关oracle中adg主库通过rman无法删除归档怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。oracle 11.2.0.4 ADG环境...
      99+
      2024-04-02
    • Springboot Cache @CacheEvict无法模糊删除怎么办
      这篇文章主要讲解了“Springboot Cache @CacheEvict无法模糊删除怎么办”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Springboot ...
      99+
      2023-06-22
    • 电脑文件无法删除该怎么办
      如果电脑文件无法删除,可以尝试以下方法解决问题:1. 关闭文件占用:首先确认文件是否被其他程序占用,例如正在被打开,或者被其他程序写...
      99+
      2023-09-07
      电脑
    • windows7系统文件无法删除怎么办
      方法一:重启计算机 在安全模式中删除 重启计算机的时候,按F8进入安全模式。在安全模式下,系统没有主动运行其他的程序,就等于一个无关扰的环境。这样,文件就不会被其他程序或者系统占用了,就能直接把文件或程序删除了。(此方法...
      99+
      2023-05-29
      文件无法删除 系统文件 windows7
    • linux中vim backspace无法删除
      在Linux中,Vim的Backspace键可能无法正常删除是因为Vim的编辑模式设置导致的。可以尝试以下方法解决该问题:1. 检查...
      99+
      2023-09-16
      linux
    • linux 中 vim backspace无法删除
      在Linux中,有时候使用Vim时按下Backspace键无法删除字符的情况是由于Vim的默认配置导致的。可以通过以下几种方法解决这...
      99+
      2023-09-17
      linux
    • win10误删除用户无法登录怎么办
      如果您在Windows 10中误删除了用户账户,并且无法登录,以下是一些可能的解决方法:1. 使用其他管理员账户登录:如果您在计算机...
      99+
      2023-09-05
      win10
    • win10系统无法删除sandbox文件夹怎么办?win10系统中删除sandbox文件夹的方法
      win10系统无法删除sandbox文件夹怎么办?有时候在清理电脑没用的文件时,会遇到一些无法删除或者提示没有权限的文件夹,有时候删除了也会再次自动生成!那要怎么删除这种文件夹下面就让我们一起来看看win10系统删除sa...
      99+
      2023-05-22
      win10 删除系统文件夹 sandbox文件夹 win10强制删除文件夹
    • Windows控制面板中添加删除程序无法打开怎么办
      这篇文章主要介绍Windows控制面板中添加删除程序无法打开怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用组合快捷键win键+r键打开运行窗口,在打开的运行窗口中输入“gpedit.msc”点击确定打开本地...
      99+
      2023-06-28
    • java中file.delete()无法删除文件
      问题file.delete()无法删除文件file.delete()无法删除文件,无论执行多少次结果都为false。分析原因(1)有可能有流对该文件进行操作,或者是流操作完没有进行关流操作;(2)有可能时外部进程或那个程序在占用该文件。(免...
      99+
      2016-10-14
      java 无法删除 文件 file.delete()
    • mysql中too many files问题open_files_limit值更改无效怎么办
      小编给大家分享一下mysql中too many files问题open_files_limit值更改无效怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧![root@hs-79 ...
      99+
      2024-04-02
    • win10无权限删除文件怎么办
      这篇文章主要讲解了“win10无权限删除文件怎么办”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win10无权限删除文件怎么办”吧!首先,右键该文件夹->属性->安全->高...
      99+
      2023-06-28
    • 笔记本电脑无法删除文件夹怎么办
      这篇文章主要为大家展示了“笔记本电脑无法删除文件夹怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“笔记本电脑无法删除文件夹怎么办”这篇文章吧。用“win+r”打开运行,输入“perfmon....
      99+
      2023-06-28
    • win11取消开机密码pin无法删除怎么办
      win11取消开机密码pin无法删除怎么办?很多用户设置默认的开机密码pin,但是由于感觉太麻烦了,想要关闭该功能。结果发现选项变成了灰色,无法直接删除。那么win11关闭开机密码pin选项灰色解决技巧今天小编就给大家具体的解决方法,有需要...
      99+
      2023-07-12
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作