Hibernate的Cascade——级联操作
在Hibernate中,针对持久化实体的配置文件中有Cascade这样一个属性,顾名思义就是级联,也就是说在操作当
前实体时,针对当前实体的操作会影响到相应配置的关联实体。比如针对当前实体进行保存操作时,会同时保存
与其关联的实体,当然这种额外操作的产生取决于你是否在当前实体的配置文件中对关联实体的元素配置了
Cascade属性。
而需要进行级联的操作可能涉及到增加,修改,删除等相应的数据库操作,具体Cascade的取值则
分为多种,如all,表示针对所有操作都会进行级联,如save-update,表示针对插入和修改会进行级联操作。对
于Cascade的取值问题需要根本具体需求而定,这里没有一个统一的标准应该取怎样的值符合你的需要。从现实
需求分析来决定应该如何取值。
all :: 所有情况下均进行关联操作。
none:
所有情况下均不进行关联操作。这是默认值。
save-update:
在执行save/update/saveOrUpdate时进行关联操作。
delete:
在执行delete时进行关联操作。
all的意思是save-update + delete
本文转自博客:http://blog.sina.com.cn/s/blog_67aaf4440100wjm7.html
Hibernate的Cascade——级联操作的更多相关文章
- [原创]关于Hibernate中的级联操作以及懒加载
Hibernate: 级联操作 一.简单的介绍 cascade和inverse (Employee – Department) Casade用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似 ...
- hibernate笔记--cascade级联以及inverse属性
cascade : 不管是单向多对一还是一对多,或者是双向的一对多关系,在一的一端映射文件中有一个set标签,在多的一端有many-to-one标签,拿前几篇笔记里讲的Grade和Student举例, ...
- hibernate(六) cascade(级联)和inverse关系详解
序言 写这篇文章之前,自己也查了很多的资料来搞清楚这两者的关系和各自所做的事情,但是百度一搜,大多数博文感觉说的云里雾里,可能博主自己清楚是怎么一回事,但是给一个不懂的人或者一知半解的人看的话,别人也 ...
- Hibernate(八)__级联操作、struts+hibernate+接口编程架构
级联操作 所谓级联操作就是说,当你进行主对象某个操作时,从对象hibernate自动完成相应操作. 比如: Department <---->Student 对象关系,我希望当我删除一个d ...
- hibernate中cascade属性以及inverse属性
级联操作 cascadecascade的常用属性值 none 默认值 不做任何变动 save-update 保存或修改 delete 删除 all 包含save-update 和delete等行为 c ...
- Hibernate级联操作和载入机制(二) cascade and fetch
上一篇介绍了Hibernate持久化对象时候的级联操作.本篇介绍读取时候的级联操作. 还是用上一篇的样例.一份问卷有多个问题.可是每一个问题仅仅能属于一份问卷. 我们先看測试用例: @Test pub ...
- Hibernate级联操作解密(inverse和cascade)
总结: Cascade:对级联操作进行限制,有如下几个参数: all : 所有情况下均进行关联操作. none:所有情况下均不进行关联操作.这是默认值. save-update:在执行save/u ...
- 【SSH三大框架】Hibernate基础第九篇:cascade关联关系的级联操作
这里要说的是Hibernate的关联关系的级联操作,使用cascade属性控制. 依旧用部门和员工举例.多个员工相应一个部门(多对一关联关系) 员工类:Employee.java package cn ...
- Java三大框架之——Hibernate关联映射与级联操作
什么是Hibernate中的关联映射? 简单来说Hibernate是ORM映射的持久层框架,全称是(Object Relational Mapping),即对象关系映射. 它将数据库中的表映射成对应的 ...
随机推荐
- Python---函数的相关知识点总结一:
1:定义函数 def printInfo(): print("I love Python!") #调用函数 #注意:函数定义完毕并不会被默认执行,只能通过调用的方式来让它执行 pr ...
- 获取本机IP地址的方法
public class Test { public static void main(String[] strings) { try { InetAddress candidateAddress = ...
- [Unity][安卓]Unity和Android Studio 3.0 交互通讯(1)Android Studio 3.0 设置
[安卓]Android Studio 3.0 JDK安卓环境配置(2017.10) http://blog.csdn.net/bulademian/article/details/78387052 [ ...
- Scala中 zip或者zipWithIndex的用法
问题:你要遍历一个有序集合,同时你又想访问一个循环计数器,但最重要的是你真的不需要手动创建这个计数器.解决方案: 使用zipWithIndex或者zip方法来自动地创建一个计数器,假设你有一个有 ...
- 安装pwntools及对于解决问题方法搜索的经验总结
安装pwntools 按照网站(https://www.cnblogs.com/xiao3c/p/6799745.html) 中的教程进行安装 下载pwntools 输入命令 git clone ht ...
- 模拟Oracle行迁移和行链接
行链接消除方法创建大的block块------------------ 参考tom kyte的例子----------------------------------------------创建4k ...
- eclipse myeclipse中的一些配置
1.显示.setting 点击三角号 选择customsize view 取消.*resources myeclipse如何更改项目名 点击项目名->alt+enter(properties)
- Object:所有类的超类
Java中每个类都是由Object类扩展而来 1.equals方法 在Object类中,这个方法用于判断两个对象是否具有相同的引用,然而对于大多数类来说,经常需要检测两个对象状态的相等性. publi ...
- Debian setup the time
sudo gedit /etc/default/hwclock将 井HWCLOCKACCESS=yes 和 井HCTOSYS_DEVICE=rtc0 前的 井 符号去掉,再改 rtc0 为 rtc1 ...
- CentOS 7 Gitlab+Jenkins持续集成+自动化部署
基于上次的环境<部署Gitlab+Jenkins持续集成环境> 来实现自动化部署 系统管理–>插件管理–>安装以下插件: Credentials Plugin(默认已经安装) ...