Hibernate多对多级联删除的问题

hibernate jpa的一对多级联删除配置 先贴上我的实验代码 一方:User.java import java.io.Serializable; import java.util.ArrayList; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Genera... 阅读详情

当数据库两个表是多对多关联关系的时候,维护者应该是数据量较少的一方。

即维护者inverse=false,被维护者inverse = true。

级联关系建议都是cascade= save-update。

下面代码中,Project负责维护Employee的更新。

删除维护者的时候可以直接delete。


                      <span style="color:#993399;"> Transaction tx = null;
		       Session session = HibernateSessionFactory.getSessionFactory().getCurrentSession();
		       tx = session.beginTransaction();
		      </span><pre name="code" class="java"><span style="font-size:18px;"><span style="color:#993399;"><span style="color:#009900;"></span></span></span><pre name="code" class="java">                       Project project= session.get(Project.class,id);
			
		       session.delete(project);
		       tx.commit();
		        



删除被维护者的时候,需要逐个解除实体表与联系表的关系,即解除外键约束,

<span style="font-size:18px;">                       <span style="color:#993399;">Transaction tx = null;
		       Session session = HibernateSessionFactory.getSessionFactory().getCurrentSession();
		       tx = session.beginTransaction();
		       Employee employee = session.get(Employee.class,id);
			
		         <span style="color:#009900;">Set<Project>projects = employee.getProjects();
			 for(Project project : projects){
				project.getEmployees().remove(employee);
			 }</span>
		       session.delete(employee);
		       tx.commit();
		       </span>
		</span>


Hibernate一对多级联操作 实现基本hibernate级联操作思路 阅读详情

相关推荐

ssm多对多整合 学生选课 多对多增删改查

本项目是多对多的项目,在前台使用了jquery,用ajax来进行回显更新,前后台用json进行传值,并且写了模糊和分页。在此声明一下,里面的模糊和分页和一对多的模糊分页是不一样的,大家下载需要认真看一下,这个项目写的逻辑比较清晰,采用逆向工程生成了部分代码,并且配置了懒加载。逻辑清晰,没有bug。压缩包中并且附带了sql文件,可以直接运行跑通,如果有任何问题,欢迎联系本人进行交流探讨。

hibernate 多对多操作删除

hibernate 多对多操作 关键字: hibernate 多对多操作 多对多的两种映射形式: 一。映射多对多关系 老师Teacher 与 课程Course 是一个多对多的关系,XMl配置如下。 三个表的表结构 1. tbl_course.sql     create table "SCOTT"."TBL_COURSE"(       ...

qingfengxia2013的专栏 209

fpga学习——zynq图像处理中的DVP流接口封装

之前文章介绍了基于zynq的图像处理架构问题。其中,作为开发者,需要重点关注图像传感器接口、处理算法、显示接口,这些模块。现在我们一同学习用于视频数据接口的DVP模块,并将其封装成AXI-stream接口便于直接和VDMA IP通信。 DVP_AXI stream IP v1.0使用说明 1.设计概述 •用于cmos传感器视频数据采集,将cmos输出的8位视频数据拼接成RGB 565模式 •AXI_stream主机接口,用于和PS端内存的数据交互 •基于vivado 18.3软件设计 2.模块分析

weixin_41895751的博客 4582

hibernate多对多级联删除总结

A. 应用场景: 一个简单的权限系统的例子: 有三张主表: 用户表:t_user 角色表:role 菜单表:menu 有两张关系表: 用户角色关系表:UserRoleMap 角色菜单关系表:RoleMenuMap role表和t_user表,及role表和menu表通过两张关系表进行多对多关联。 目标是:当删除某个角色的时候,级联删除两张...

huashuizhuhui的专栏 174

tecplot 通过数据点、坐标点绘制云图、三维云图

使用坐标点绘制二维云图或三维云图

medicalmask的博客 3万+

别再为数据发愁:5分钟理解事件相机原理,并自己动手生成事件图像

本文深入浅出地解析了事件相机的工作原理,并提供了从静态图像生成事件数据的实用方法。通过Python代码示例,读者可以快速掌握如何模拟事件相机的输出,应用于机器人导航、自动驾驶等领域,解决数据获取难题。

weixin_31458015的博客 300

MySQL多对多表关系删除策略

菜单表: CREATE TABLE `es_menu` (   `id` bigint(20) NOT NULL auto_increment,   `menuname` varchar(24) NOT NULL,   `sort` tinyint(4) NOT NULL,   `inputtime` datetime NOT NULL,   PRIMARY KEY  (`id`) ) ENGI...

ren814的博客 3276

Trustzone/TEE/安全 面试100问-目录

关键词:cache学习、mmu学习、cache资料、mmu资料、arm资料、armv8资料、armv9资料、 trustzone视频、tee视频、ATF视频、secureboot视频、安全启动视频、selinux视频,cache视频、mmu视频,armv8视频、armv9视频、FF-A视频、密码学视频、RME/CCA视频、学习资料下载、免费学习资料、免费 周贺贺,baron,代码改变世界ctw,Arm精选, 资深安全架构专家,十年手机安全/SOC底层安全开发经验。擅长trustzone/tee安全产品的设计

baron-周贺贺-代码改变世界ctw 652

Django的多对多实现删除和修改

Django的多对多实现删除和修改

zhaojiaxing123的博客 1055

PentAGI自动渗透测试平台搭建与使用

但是PentAGI的缺陷也比较明显,一个是自动化程度高带来过程的介入困难,整个渗透的过程都交给AI自动决策,无法进行人工调整,耗时较长;从上述过程来看PentAGI似乎是一个比较“可用”的AI自动化渗透测试平台,但是在继续等待测试的过程中,PentAGI的一些缺点也暴露了出来,一个是测试的过程非常漫长,因为PentAGI是使用配置大模型API key的方式全自动运行,支持openai、deepseek等主流LLM大模型,过程中不需要人工介入,会不断自动调整,所以比较依赖于大模型本身的响应速度。

墨痕诉清风的博客 2415

大数据数据埋点技术面试题及参考答案(持续更新)

事件:指的是用户执行的具体动作,如页面浏览、按钮点击、商品购买等。事件是触发数据记录的直接原因,是分析用户行为的关键点。属性:是与事件相关的额外信息,可以提供关于事件的更多上下文。例如,用户点击的按钮颜色、大小、页面位置等。属性有助于更细致地分析用户行为,理解事件发生的具体情境。事件和属性共同构成了数据埋点的数据模型,它们使得收集的数据具有可分析性,从而可以用于深入理解用户行为和优化产品。

大模型大数据攻城狮的专栏 2097

Hibernate:多对多删除

案例: 书籍类(Book.java)和书籍类别(Category.java) 表结构: t_hibernate_book表: t_hibernate_category表: t_hibernate_book_category表(中间表): 先创建多对多联系: book类: package com.crud.five.entity; import java.util.H...

qq_40973475的博客 951

Python爬虫模拟登录京东并抓取商品数据

京东是一个拥有海量商品数据的电子商务平台。作为爬虫开发者,能够抓取这些数据将为我们提供很多机会进行数据分析、价格预测、市场调研等工作。然而,京东的反爬虫机制非常强大,包括但不限于验证码、动态加载页面、IP封禁等。因此,想要通过Python爬虫抓取京东的数据并不容易。在本文中,我们将从分析京东的登录机制开始,逐步介绍如何使用Python中的各种工具,如。

2201_76125261的博客 1828

Spring整合hibernate 双向多对多级联删除问题

最近在在做一个项目的时候,遇到关于hibernate的双向多对多级联删除的问题,上网搜索关于多对多删除的解释很少,但是双向多对多级联删除的需求也有很多,花了一整天时间才彻底弄明白级联删除的相关细节问题。下面就我个人理解做相关总结。               下面是两个实体类中的多对多的映射关系配置:         注意:下面提到的父方和子方是通过inverse属性来设置的,如

ShiLuoHeroKing的博客 2924

C#串口通信从入门到精通(1)——硬件接线

RS-232接口一般都是9针的,有公母头(针头和孔头),为了便有理解以下都称为针头和孔头,针头就是露出来的针,孔头就是9个孔,总共使用3条线进行通信,一条用于发送,一条用于接收,另外一根是GND地线,由于线路的功能是永久性的,设置连接时,必须确保一个节点的发送线与另一个节点的接收线相连,反之亦然,RxD(PC的接收线)连接到TxD(传感器电子设备的发送线),TxD(PC的发送线)连接到RxD(传感器电子设备的发送线)。两条线路的电平都是相对于GND的。因此,GND也必须连接,但不能将GND与屏蔽连接。

qq_34059233的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Hibernate多对多级联删除

推荐:[url=http://hongfanshu.blogbus.com/]红番薯[/url] [url=http://geiliba.info/]给力吧![/url] [url=http://blog.163.com/zzr_1984/]又一村[/url] [url=http://blog.sina.com.cn/andyzzr]遗失的记忆[/url...

andy_2的专栏 360

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

hibernate 级联删除时候的两种情况 之(一) 删除主表、关系表跟从一并都删除了

文章转自 :http://www.85java.com/thread-2186-1-1.html前阵子,使用Hibernate删除多对多删除的时候遇到了点问题,情况是这样的: A表和B表存在多对多关系,设计表关联时,创建中间表C,定义两个外键字段A_ID和B_ID,分别关联A表主键和B表主键。 在A表对应的hbm文件中,...上面的cascade设定了级联删,本意是想删除A记录时,顺便清除中间表的关联记录,然而并未如此,删除A记录时,不仅删了中间表的记录,连B表中关联的记录也一并被删除了,这样的操作有时是不

天下无双 8172

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

hibernate 级联删除时候的两种情况 之(一) 删除主表、关系表跟从一并都删除了...

文章转自 :http://www.85java.com/thread-2186-1-1.html 前阵子,使用Hibernate删除多对多删除的时候遇到了点问题,情况是这样的: A表和B表存在多对多关系,设计表关联时,创建中间表C,定义两个外键字段A_ID和B_ID,分别关联A表主键和B表主键。 在A表对应的hbm文件中,&lt;set name="Bs" table="C" ca...

ruilin521314 216

hibernate框架一对多级联删除例子(十三)

一、hibernate不级联删除 /** * 不级联删除:删除客户,客户下有2个联系人 */ @Test public void run6() { Session session = HibernateUtils.getCurrentSession(); Transaction tx = session.beginTransaction(); Customer c1

csdn_kenneth的博客 2041

hibernate多对多级联保存、级联删除

hibernate多对多级联操作

BlackEn ▪ Lee 2207

hibernate一对多级联操作

hibernate一对多级联操作

BlackEn ▪ Lee 453

Hibernate多对多级联保存操作

多对多关系对象User和Role package com.zcw.entity; import lombok.Getter; import lombok.Setter; import javax.persistence.ManyToMany; import java.util.Set; //创建多对多对象,配置级联关系 @Getter @Setter public class User { private Integer id; private String name; pr

qq_41778382的博客 345

Hibernate4 注解配置实现一对多级联删除

用了hibernate有一段时间了,不过总是写很简单的功能,今天看了一下hibernate的级联删除,发现网上有很多代码已经过时了,即使没有过时的也有许多坑没有说明,在踩了n个坑后终于实现了hibernate的级联删除。 我们以产品类型ProductType类和产品Product类为例,一个产品类型对应多个产品,删除产品类型将该类型下的所有产品同时删除。首先需要@OneToMany和@ManyT

W895972478的专栏 1万+

Hibernate 一对多级联删除

实例一 背景: 系统中有post表和replay表。分表表示帖子和帖子回复的表。一篇帖子可以有多个回复。 要求: 现在要求删除一篇帖子的同时删除对应的replay表中该帖子的所有回复。 实现: 在post.hbm.xml中这样配置(即在“一方”的hbm.xml文件中) <set name="replaies" inverse="t...

diliulian8845的博客 273
上一篇: Hibernate使用中sessionFactory的获取以及问题解决
下一篇: struts2学习
Julyraining
博客等级 码龄12年 3粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值