zoukankan      html  css  js  c++  java
  • Hibernate cascade

      在一对多,与多对一的关联映射中,我们去添加新的数据时既需要新增一的数据又需要新增多的数据,我们如果去只保存一个数据呢?我们需要加一个配置cascade。本文简单介绍cascade的用法。

    cascade(级联):让操作级联的子实体,在操作一端数据时,可以级联操作为关联另一端的数据。

    cascade (级联)的几个值:

      在多对一端使用

      1.save-uprate: 再保存和更新多的一端数据时,一的一端的数据可以一起保存和更新。(在新增时发现一端数据不存在时去保存,如果存在则不去保存)

      在这里我只保存了student的值,并没有保存gread的值,我们来看看执行的sql,发现sql中存在向gread表中新增数据。

     

      这里级联新增的gread的数据。

      2.none 默认为none 不级联。

        如果设置关联字段不为null的时候,将cscade保存为none的话,执行会报异常。

      3.delete 删除级联

        在多对一的关系中,不适合使用删除级联,因为我们不可能将唯一的数据删除。

      4.all 表示所有操作都级联

      在一对多端使用

      在这里主要说明delete操作

        在delete操作时,hibernte会先帮我们修改多对端的数据为null,然后删除多对端的数据,再删除一对端的数据,所有在这里,我们不能设置多对端的数据为非空,否则会报异常。

    注:本文是在学习期间根据网上视频写的学习笔记,如有侵权请联系删除!

  • 相关阅读:
    接口继承与归一化设计
    继承part1
    组合
    静态方法,小结
    类方法
    Java 集合各个接口特性
    PV操作示例详解
    什么是Java序列化,如何实现java序列化
    String简单知识点
    intValue()、parseInt()和valueOf
  • 原文地址:https://www.cnblogs.com/wuyx/p/8011970.html
Copyright © 2011-2022 走看看