hibernate级联 cascade属性(转)
在Hibernate中,针对持久化实体的配置文件中有Cascade这样一个属性,顾名思义就是级联,也就是说在操作当
前实体时,针对当前实体的操作会影响到相应配置的关联实体。比如针对当前实体进行保存操作时,会同时保存
与其关联的实体,当然这种额外操作的产生取决于你是否在当前实体的配置文件中对关联实体的元素配置了
Cascade属性。
而需要进行级联的操作可能涉及到增加,修改,删除等相应的数据库操作,具体Cascade的取值则
分为多种,如all,表示针对所有操作都会进行级联,如save-update,表示针对插入和修改会进行级联操作。对
于Cascade的取值问题需要根本具体需求而定,这里没有一个统一的标准应该取怎样的值符合你的需要。从现实
需求分析来决定应该如何取值。
all :: 所有情况下均进行关联操作。
none: 所有情况下均不进行关联操作。这是默认值。
save-update: 在执行save/update/saveOrUpdate时进行关联操作。
delete: 在执行delete时进行关联操作。
all的意思是save-update + delete
all-delete-orphan 的意思是当对象图中产生孤儿节点时,在数据库中删除该节点
举个例子说一下all-delete-orphan:
Category与Item是一对多的关系,也就是说Category类中有个Set类型的变量items. 举个例子,现items中存两个
Item, item1,item2,如果定义关系为all-delete-orphan当items中删除掉一个item(比如用remove()方法删除
item1),那么被删除的Item类实例将变成孤儿节点,当执行category.update(),或session.flush()时hibernate同
步缓存和数据库,会把数据库中item1对应的记录删掉。
参考博客:
http://dreamzhong.iteye.com/blog/1273157
http://apps.hi.baidu.com/share/detail/5946383
hibernate级联 cascade属性(转)相关推荐
- Hibernate的cascade属性
关键词: cascade all-delete-orph 详见:http://www.bczs.net/xml/2005/12/21/4473293.xml http://welcomejian ...
- Hibernate中inverse属性与cascade属性
Hibernate集合映射中,经常会使用到"inverse"和"cascade"这两个属性.对于我这样,Hibernate接触不深和语文水平够烂的种种因素,发现 ...
- java中的cascade,Hibernate中cascade作用
只有"关系标记"才有cascade属性: 一个操作因级联cascade可能触发多个关联操作.前一个操作叫"主控操作",后一个操作叫"关联操作" ...
- (7) hibernate之级联cascade和关系维持inverse
hibernate的关联关系,重点在理解级联cascade和inverse 1.cascade一般用在级联保存,级联更新,级联删除上 1.1cascade注解有两种,一种是基于hiberna ...
- Hibernate【inverse和cascade属性】知识要点
Inverse属性 Inverse属性:表示控制权是否转移.. true:控制权已转移[当前一方没有控制权] false:控制权没有转移[当前一方有控制权] Inverse属性,是在维护关联关系的时候 ...
- hibernate mysql cascade_Hibernate第五篇【inverse、cascade属性详解】
前言 上一篇博文已经讲解了一对多和多对一之间的关系了,一对多和多对一存在着关联关系(外键与主键的关系).本博文主要讲解Inverse属性.cascade属性.这两个属性对关联关系都有影响 Invers ...
- (转)Hibernate框架基础——cascade属性
http://blog.csdn.net/yerenyuan_pku/article/details/52760010 我们以部门和员工的关系为例讲解一对多关联关系映射时,删除部门时,如果部门有关联的 ...
- Hibernate的Cascade——级联操作
在Hibernate中,针对持久化实体的配置文件中有Cascade这样一个属性,顾名思义就是级联,也就是说在操作当 前实体时,针对当前实体的操作会影响到相应配置的关联实体.比如针对当前实体进行保存操作 ...
- Hibernate框架基础——cascade属性
我们以部门和员工的关系为例讲解一对多关联关系映射时,删除部门时,如果部门有关联的员工且inverse属性为false,那么由于可以维护关联关系,它就会先把关联的员工的外键列设为null值,再删除自己. ...
- Hibernate第五篇【inverse、cascade属性详解】
前言 上一篇博文已经讲解了一对多和多对一之间的关系了,一对多和多对一存在着关联关系(外键与主键的关系).本博文主要讲解Inverse属性.cascade属性.这两个属性对关联关系都有影响 Invers ...
最新文章
- 离散型随机变量的分布律
- swiftsuspenders Memo
- html中文乱码_Nginx目录浏览的中文显示问题订正
- OPENCV-2 学习笔记
- 利用Excel或LibreOffice的业务输入进行单元测试约束
- 文献读的越多,离原创越远
- centos 怎样下载php,centos下怎样安装软件
- linux卸载htop,linux下 htop 工具简介
- maven项目中操作mysql数据库案例
- python调用dll时路径问题_使用ctypes(python)在带括号的路径中加载dll时出错
- 【RPA】PDF生成器FPDF(Python篇)
- C# 获取硬盘序列号
- 运放参数-快速了解输入偏置电流Ib和输入失调电流Ib_os参数-运算放大器
- 服务器多网卡同一网段
- 实例讲解FusionInsight MRS RTD 实时决策引擎在医保行业应用
- 数据结构实验课_实验四 队列
- 国家开发银行软件测试工资待遇,国家开发银行总行工资待遇
- 客快物流大数据项目(二十四):OGG安装部署
- 舞动DB2图书签售火爆 部分作者现身中关村图书大厦
- 【电机学】【公式速查】感应电动机、异步电动机