cascade:

级联:
  是对象的连锁操作

级联保存(一对多):

级联保存:
  当保存双向关系的一方时,默认会报告错误,此时应该在customr中设置级联保存,即操作一个对象时,通过操作其他关联对象
  如果一方设置了cascade,那么在测试用例中针对这一方进行保存操作
  多对多的级联保存语法和一对多的级联保存语法相似,均在<set>节点增加 cascade="save-update"
  在customer一端配置级联更新:
  <set name="orders" cascade="save-update">
    <key column="customer_id"></key>
    <one-to-many class="com.roxy.hibernate.pojo.Order"/>
  </set>
  在测试用例中针对customer进行操作:
    cust.getOrders().add(o1);
cust.getOrders().add(o2); session.save(cust);

级联删除(一对多):

级联删除:
  如果不设置级联删除,那么在删除列信息时会将数据的外键设置为null
  如果设置了级联删除,那么会在删除信息时将外键关联的数据同时删除 如果一方设置了cascade,那么在测试用例中针对这一方进行删除操作
多对多的级联保存语法和一对多的级联保存语法相似,均在<set>节点增加 cascade="save-update, delete"

  在customer端配置级联删除:
  <set name="orders" cascade="save-update, delete">
    <key column="customer_id"></key>
    <one-to-many class="com.roxy.hibernate.pojo.Order"/>
  </set> or:   <set name="orders" cascade="all">

  在测试用例中测试:

        Customer customer = session.get(Customer.class, 14);
session.delete(customer);

Hibernate cascade级联的更多相关文章

  1. hibernate(六) cascade(级联)和inverse关系详解

    序言 写这篇文章之前,自己也查了很多的资料来搞清楚这两者的关系和各自所做的事情,但是百度一搜,大多数博文感觉说的云里雾里,可能博主自己清楚是怎么一回事,但是给一个不懂的人或者一知半解的人看的话,别人也 ...

  2. Hibernate 集合映射 一对多多对一 inverse属性 + cascade级联属性 多对多 一对一 关系映射

    1 . 集合映射 需求:购物商城,用户有多个地址. // javabean设计 // javabean设计 public class User { private int userId; privat ...

  3. Hibernate学习(六)———— cascade(级联)和inverse关系详解

    序言 写这篇文章之前,自己也查了很多的资料来搞清楚这两者的关系和各自所做的事情,但是百度一搜,大多数博文感觉说的云里雾里,可能博主自己清楚是怎么一回事,但是给一个不懂的人或者一知半解的人看的话,别人也 ...

  4. hibernate cascade的真正含义

    hibernate cascade 是 @OneToOne @OneToMany @ManyToOne @ManyToMany等注解的属性,表示级联操作. /** * (Optional) The o ...

  5. cascade(级联)和inverse关系详解

    序言 写这篇文章之前,自己也查了很多的资料来搞清楚这两者的关系和各自所做的事情,但是百度一搜,大多数博文感觉说的云里雾里,可能博主自己清楚是怎么一回事,但是给一个不懂的人或者一知半解的人看的话,别人也 ...

  6. 01-03-02-1【Nhibernate (版本3.3.1.4000) 出入江湖】CRUP操作--cascade 级联相关

    要点: 1. <!--双向关联时要用: inverse:由子表来维护关系,cascade:级联的关系 如果没有这个设置, 插入Customer成功(即使现在Order插入Order抛异常,这时产 ...

  7. hibernate笔记--cascade级联以及inverse属性

    cascade : 不管是单向多对一还是一对多,或者是双向的一对多关系,在一的一端映射文件中有一个set标签,在多的一端有many-to-one标签,拿前几篇笔记里讲的Grade和Student举例, ...

  8. Hibernate的Cascade——级联操作

    在Hibernate中,针对持久化实体的配置文件中有Cascade这样一个属性,顾名思义就是级联,也就是说在操作当 前实体时,针对当前实体的操作会影响到相应配置的关联实体.比如针对当前实体进行保存操作 ...

  9. Hibernate课程 初探一对多映射4-2 cascade级联属性

    1 级联属性:hibernate一方和多方设置关联关系,当一方发生相应修改时(见下表),多方不用进行显式修改,也能进行相应修改.   级联在一方和多方xml中都可以设置 属性值 含义和作用 all 对 ...

随机推荐

  1. 解决Ubuntu下adb无法联接手机终端

    1.首先确认开发者选项中USB调试是否打开. 2.在终端输入lsusb,如下图: 查看设备是否已经连接,如果没有此选项,请检查你的手机数据线是否正常连接,否则你的手机就可以用来防身和砸核桃了. 3.在 ...

  2. Cisco ASA(8.4)端口映射设定(ASDM)

    1.进入到Configuration→firewall→NAT Rules画面. 2.点“services”添加服务端口,此案例添加TCP 1443和UDP 1443端口映射 3.添加“Network ...

  3. 配置动态加载模块和js分模块打包,生产环境和开发环境公共常量配置

    1. 话不多少 先上代码:  route.js  // 引用模板 分模块编译 const main = r => require.ensure([], () => r(require('. ...

  4. Redis学习第二课:Redis String类型及操作

    Strings类型 String是最简单的类型,一个Key对应一个Value,String类型是二进制安全的,可以包含任何数据,比如jpg图片或序列化的对象. Strings类型的操作: Set:设置 ...

  5. Remastersys---制作当前的ubuntu系统镜像iso,自定义ubuntu系统

    Remastersys---制作当前的ubuntu系统镜像iso,自定义ubuntu系统 Remastersys则款软件,我们就是使用他来将当前的系统制作成iso镜像,一方面可以用来备份系统,二来可以 ...

  6. Object-C 基础笔记4---ARC内存管理

    内存管理的原则 1,对你自己拥有的对象负责.你只能释放自己拥有的对象.(谁污染谁治理). 2,凡是通过retain,alloc,copy等于段获得了所有权对象,都必须在你不再使用的时候释放.调用rel ...

  7. SPSS教程学习笔记1:K个独立样本秩和检验及多重比较 (转载) (非参数假设检验)

    本文地址:http://www.datasoldier.net/archives/173版权声明:本文为原创文章,版权归 数据小兵 所有,欢迎分享本文,转载请保留出处!     方差分析经常会出现不满 ...

  8. [LeetCode&Python] Problem 876. Middle of the Linked List

    Given a non-empty, singly linked list with head node head, return a middle node of linked list. If t ...

  9. Navicat Premium连接PostgreSQL

    连接PostgreSQL时,报错 大致意思:你当前的IP没有连接权限,在文件pg_hba中缺少当前IP的配置 解决:找你的PostgreSQL安装路径,这是我的:C:\Program Files\Po ...

  10. 捷报 FastAdmin 国内开源排名第 13 名

    捷报 FastAdmin 国内开源排名第 13 名 FastAdmin 是一款基于 ThinkPHP 5 + Bootstrap 的后台开源框架. 去年是第 35 名. 今年是第 13 名,有进步.