hibernate级联操作详解

Hibernate的级联操作(增,删,该) 立即下载

级联操作

 一.简单的介绍

cascade和inverse (Employee – Department)

l  Casade用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似的操作,常用的cascade:

         none,all,save-update,delete, lock,refresh,evict,replicate,persist,

         merge,delete-orphan(one-to-many)。一般对many-to-one,many-to-many不设置级联,在<one-to-one>和<one-to-many>中设置级联。

l  inverse表“是否放弃维护关联关系”(在Java里两个对象产生关联时,对数据库表的影响),在one-to-many和many-to-many的集合定义中使用,inverse=”true”表示该对象不维护关联关系;该属性的值一般在使用有序集合时设置成false(注意hibernate的缺省值是false)。

         one-to-many维护关联关系就是更新外键。many-to-many维护关联关系就是在中间表增减记录。

         注: 配置成one-to-one的对象不维护关联关系

二,属性的解析
class元素的lazy属性设定为true,表示延迟加载,如果lazy设为false,则
表示立即加载。以下对这二点进行说明。
     立即加载:表示Hibernate在从数据库中取得数据组装好一个对象(如学生1)后,
            会立即再从数据库取得数据组装此对象所关联的对象(如学生证1)。
     延迟加载:表示Hibernate在从数据库中取得数据组装好一个对象(如学生1)后,
            不会立即再从数据库中取得数据组装此对象所关联的对象(如学生1),
            而是等到需要时,才会从数据库取得数据组装此关联对象。
<one-to-one>元素的cascade属性表明操作是否从父对象级联到被关联的对象,     它
的取得可以是以下几种:
     none:在保存,删除或修改当前对象时,不对其附属对象(关联对象)进行级联
          操作。它是默认值。
     save-update:在保存,更新当前对象时,级联保存,更新附属对象(临时对象,
          游离对象)。
     delete:在删除当前对象时,级联删除附属对象。
     all:所有情况下均进行级联操作,即包含save-update和delete操作。
     delete-orphan:删除和当前对象解除关系的附属对象。
<one-to-one>元素的fetch属性的可选值是join和select,默认是select。
当fetch属性设定为join时,表示连接抓取(Join fetching):Hibernate通过
在Select语句中使用outer join(外连接)来获得对象的关联实例或者关联集合。
当fetch属性设定为select时,表示查询抓取(Select fetching):需要另外发
送一条Select语句抓取当前对象的关联实体或集合。

三。代码练习

<set name="emps" cascade="save-update">
 <key column="depart_id"/>
  <one-to-many class="Employee"/>
</set>

<set name="students" table="taacher_student" inverse="true"><!-- table是用来指定中间表的属性 -->
<key column="teacher_id"></key><!-- 查找教师id时,链接中间表表的teacher_id -->
<many-to-many class="Student" column="student_id"></many-to-many>
</set>


MATLAB与STK互联23:卫星对象操作(14)—仿真分析案例1,建立8个地面站,分析对卫星的可见性 学习到这里,我们有必要做个仿真分析案例,把之前我们学习的零散知识点串起来,看一下在真实的分析中怎么应用。 分析要求:建立8个地面站,分析每个地面站对某个轨道高度500km、倾角60°圆轨道的卫星,1天内的可见次数、可见弧长以及可见弧段间隔列表。 基本约束:地面站仰角8°~90°,作用距离<2000km,太阳矢量与地面站到卫星视线夹角不小于15°,可见弧段应大于30s。地面站站址可随机生成,但要求在南北纬50°范围内。 下面上代码: uiap = actxserver(‘STK11.application’) 阅读详情

相关推荐

光伏发电预测(LSTM、CNN_LSTM和XGBoost回归模型,Python代码)

一旦结果与预测差距较大,可能存在光伏系统的问题,需要找出原因,然后采取适当措施来修复光伏系统并做出更好的决策。例如,根据准确的预测,光伏系统运营商可以平衡电力消耗,并将多余的电力储备用于紧急情况。然而,光伏系统的发电量估算是一个挑战,因为光伏系统的发电量受到天气条件的极大影响。整个项目文件夹(第一个文件夹为xgboost模型相关的包文件,xg.py是xgboost模型英文注释版本,xg_chinese.py是xgboost模型中文注释版本)表示空气的温度,通常以摄氏度(°C)或华氏度(°F)为单位。

2301_79699110的博客 3030

Hibernate:级联、检索的简单理解

Cascade(级联)是一种配置选项,用于指定当对一个对象进行操作时,是否要同时对与之相关联的其他对象进行相同的操作。Cascade可以应用于关联关系(Association)中的父子对象,例如一对多(OneToMany)、多对一(ManyToOne)、一对一(OneToOne)等。通过配置Cascade属性,可以实现对关联对象的级联操作。常见的Cascade选项包括:CascadeType.ALL:表示对关联对象执行所有操作,包括创建、更新和删除。

X2822889732的博客 759

SIwave串扰分析保姆级教程:从Allegro文件导入到结果解读,手把手教你排查PCB信号问题

本文提供SIwave串扰分析的详细教程,从Allegro文件导入到结果解读,手把手教你排查PCB信号问题。涵盖环境准备、参数配置、串扰扫描技巧及实战案例,帮助工程师精准定位和解决高速PCB设计中的串扰问题,提升信号完整性分析能力。

weixin_42620913的博客 255

Hibernate 的级联操作

Hibernate 级联操作 1、⼀对多关系 客户和订单:客户可以购买多个产品,⽣成多个订单,但是⼀个订单只能属于⼀个客户 数据库中⼀的⼀⽅是主表,多的⼀⽅时候从表,通过主外键关系来维护。 Customer @Data public class Customer { private Integer id; private String name; private Set<Orders> orders; } Orders @Data public class Orders { private

weixin_47619153的博客 536

解密Android相机框架:从HAL到应用层的全链路解析

本文深入解析Android相机框架的全链路架构,从应用层到硬件抽象层(HAL)再到驱动层,详细介绍了CamX-CHI架构的设计哲学与实战应用。通过HAL3接口、V4L2交互机制及Camera2 API的最佳实践,帮助开发者优化相机性能,解决多摄切换、预览卡顿等常见问题,提升成像效率与稳定性。

weixin_29238147的博客 407

IPD流程中CBB管理的5个致命误区,第3个坑了80%的团队

本文深入剖析了IPD流程中CBB管理的五个致命误区,尤其指出缺乏有效的度量与激励机制是影响80%团队的核心陷阱。文章强调CBB的核心在于前瞻性设计,而非简单归档,并需平衡通用性与产品竞争力,同时建立持续运营机制,确保CBB与市场需求对齐,从而真正实现缩短开发周期、降低成本的目标。

weixin_29234423的博客 568

Hibernate-级联操作

Hibernate 级联操作 关联关系 【1】一对多关系 一的一方是主表,多的一方是从表,通过主外键维护 @Data public class Customer{ private int id; private String name; private Set<Orders> orders; } @Data public class Orders{ private int id; private String name; private Customer cu

qq_41607217的博客 325

STM32F103结合HAL库实现蓝牙遥控四麦小车的PID闭环控制

本文详细介绍了如何使用STM32F103结合HAL库实现蓝牙遥控四麦小车的PID闭环控制。从硬件选型、电路搭建到PID算法实现与调参,全面解析了四麦小车的运动控制方案,特别强调了蓝牙通信协议设计和麦轮运动学解算的关键技术。

weixin_29169899的博客 292

Hibernate级联操作

基础知识 框架概述 工作原理 一对多关系 数据库: 一个客户对应多个订单,数据库中一是主表,多是从表,通过主键外键来维系。 Customer(id,name) orders(id,name,cid)。【注意:加粗的是主键】 java: Customer类定义如下,Orders略 hibernate xml文件如下 set 配置实体类中集合属性,name实体类的属性名,table表名,key外键,onetomany 结合泛型的实体类对应。 many-to-one 实体类对应的对象属性,name

天天向上 350

HyperLynx(二十二)DDR(五)DDRx总线时序模型设计

DDR3 的数据选通信号与时钟信号的频率是一样的,在数据选通信号写操作时,控制器典型的输出方式是数据选通信号边沿与时钟近似对齐。该界面中显示了所有需要编辑的参数,包括地址/命令信号的时序、控制信号的时序、读和写操作的数据选通和数据信号时序、写操作的数据选通和数据掩码信号时序,以及建立和保持时间的降额参数。由于DDRx总线对时序的要求非常严格,随着速率的提升,时序的要求会更高。反之也是一样的,如果数据选通信号的上升沿在时钟信号上升沿的后面到达 DRAM,那么数据选通信号的下降沿就会在时钟信号的前面到达。

小幽余生不加糖 1935

软考中级-软件设计师 23种设计模式(最详细解析!!)

软考中级-软件设计师 23种设计模式

片言可决讼,半纸能缚龙 2万+

hibernate的级联操作

hibernate的级联操作在hibernate的操作中可以进行级联操作来避免对关联对象的重复操作。 hibernate中的持久化的操作都对应了相应的级联风格。 merge()-----merge delete()----delete saveOrUpdate()----save-update refresh()---refresh evict()---evict在配置文件中默认的时none,

small_love的专栏 1057

LoRa双端通信稳定性核心:同步字配置与LLCC68工程实践

LoRa是一种基于扩频调制的远距离低功耗无线通信技术,其物理层鲁棒性依赖于发射端与接收端在频率、带宽、扩频因子及同步字等关键参数上的严格一致。同步字作为LoRa帧结构中位于前导码之后的2字节标识字段,承担着物理层帧过滤与网络隔离的核心作用,直接影响通信成功率与抗干扰能力。在实际嵌入式开发中,尤其采用LLCC68等专用射频芯片时,同步字配置错误或双端不一致是导致‘能发不能收’‘间歇性丢包’等典型问题的首要原因。本文面向STM32等Cortex-M平台开发者,结合硬件一致性约束、驱动移植方法论与寄存器级调试手段

weixin_36019375的博客 130

Hibernate级联操作详解与最佳实践

级联操作是ORM框架中的核心机制,通过对象图传播自动维护关联实体状态。其原理是基于会话(Session)的持久化上下文,根据CascadeType配置决定操作传播范围。该技术能显著减少样板代码,但需警惕N+1查询、误删数据等常见陷阱。在电商订单、博客系统等主子表关联场景中,合理使用PERSIST、REMOVE等级联类型可提升开发效率。特别要注意DELETE_ORPHAN等Hibernate特有扩展的使用方式,结合批处理优化与双向关联维护,能有效平衡功能与性能。现代架构中,微服务间应避免级联,转而采用事件驱动

weixin_29300931的博客 299

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Hibernate的级联操作详解(转)

出自:http://blog.youkuaiyun.com/geminiroy/article/details/5413913   save-update: 级联保存(load以后如果子对象发生了更新,也会级联更新). 但它不会级联删除 delete: 级联删除, 但不具备级联保存和更新 all-delete-orphan: 在解除父子关系时,自动删除不属于父对象的子对象, 也支持级联删除和级联保存更

1045

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

HIbernate--多对多的级联操作(保存、更新、删除)详解

级联操作 多对多的级联操作同一对多和多对一是一样的。如果只保存单独的一方是不可以的,还是需要保存双方的。如果想保存一方就需要设置级联操作。同样需要设置主控方。 创建表 创建sys_user、sys_role、sys_user_role三张表: 创建实体 User: public class User { //主键 private Long user_id; private String u...

吴声子夜歌的博客 1399

数学建模模型总结

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

hibernate中关系操作(inverse)和级联操作(cascade)详解

以用户、角色、用户文件为例讲解inverse(关系操作)和(cascade)操作 inverse 取值 true(不维护关系)或false(维护关系  默认为false) 该属性主要操作的是外键 cascade 取值null(默认值)、save-update 、all 、delete 用户、角色是多对多的关系 用户的映射文件表示: 。。。。。 inverse="tru

zcl1199的博客 2151

Hibernate_2_Hibernate中对象状态及转化_一级缓存_Session详解_HQL/SQL/Criteria_一对多关系_级联操作

Hibernate中的对象状态 在Hibernate中持久化对象具有三种状态: 瞬时态, 持久态, 游离态. 瞬时态: 对象没有与Hibernate产生关联(transient,session中没有缓存), 数据库中也没有对应记录 => 对象无id, 没有关联 持久态: 对象与Hibernate产生关联(persistent, session中有缓存), 数据库中会存在记录 => ...

菜鸡逆袭的博客 251

JAVAEE学习——hibernate03:多表操作详解、级联、关系维护和练习:添加联系人

一、一对多|多对一 1、关系表达  表中的表达      实体中的表达      orm元数据中表达     一对多 <!-- 集合,一对多关系,在配置文件中配置 --> <!-- name属性:集合属性名 column属性: 外键列名 ...

depiaozhanyou66348的博客 145

Hibernate框架学习

  什么是框架 框架就是一个半成品的项目,我们书写项目可以从半成品的项目开始写,这样能够大大的提高开发效率。 不必纠结于框架本身的实现,只要学会如何使用这个框架即可。 什么是Hibernate框架 这个框架应用于DAO层 ORM:Object relaction mapping 实体类和数据表之间建立了联系,通过操作对象,直接对数据库进行修改。     Hibernat...

weixin_41546357的博客 404

Hibernate 下实现数据的级联插入

在上一篇文档中,主要讲了如何在myeclipse中部署一个Hibernate项目,在本文中主要实现数据的级联插入,下面模拟的场景是,用户有多个订单,在插入用户的时候,将用户的订单添加到订单表中。      下面是User 和 Order两个pojo类的代码          public class Order { private int id; private int wh

行者歌于途 1598

Hibernate——关系映射之多对一与一对多 & 懒加载 & 级联操作

在Hibernate中,两个相互有关联的数据库表在配置的时候需要额外的配置。 关系映射之多对一 多对一的经典案例:老师 &lt;–&gt; 部门,即一个老师只能对应一个部门,而一个部门对应多个老师。 下面通过示例说明多对一的关系。创建项目HibernateManyToOne。 1.首先创建Teacher对象和Department对象。 package com.gavin.doma...

Gavin 2452

Hibernate一对多级联操作

使用hibernate对mysql进行一对多的级联增删查改操作: 一方为产品的分类(Category.java),多方为具体的产品(Product.java) JavaBean(一方): package com.yi.entity; import java.util.HashSet; import java.util.Set; /* * 一方 */ public class

未来 4886

Hibernate级联操作原理与实战指南

级联操作是ORM框架中的核心机制,通过对象图传播实现关联实体的自动化持久化操作。其原理基于Hibernate事件系统,当主实体执行操作时会递归触发关联实体的相应动作。这种机制大幅提升了开发效率,避免了手动维护对象关系的繁琐代码。在JPA规范中,通过CascadeType枚举定义了PERSIST、MERGE等基础级联类型,而orphanRemoval属性则能智能清理孤儿对象。典型应用场景包括电商订单-商品、用户-地址等一对多关系管理。本文以Person-Address为例,详解Hibernate级联的配置技巧

weixin_29223603的博客 223
上一篇: 关系映射多对多详解
下一篇: 集合映射(set, list, array,bag, map)详解
日依
博客等级 码龄15年 165粉丝 165原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值