springboot实体类的级联说明

Posted 十黎九夏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot实体类的级联说明相关的知识,希望对你有一定的参考价值。

例子:

@OneToOne(cascade=CascadeType.DETACH,fetch=FetchType.LAZY)
    @JoinColumn(name="user_id")
    private User user;

CascadeType.PERSIST

  给当前设置的实体操作另一个实体的权限。这个理解可以推广到每一个CascadeType。

CascadeType.REMOVE
  Cascade remove operation,级联删除操作。
  删除当前实体时,与它有映射关系的实体也会跟着被删除。

CascadeType.MERGE
  Cascade merge operation,级联更新(合并)操作。
  当User中的数据改变,会相应地更新Course中的数据。

CascadeType.DETACH
  Cascade detach operation,级联脱管/游离操作。
  如果你要删除一个实体,但是它有外键无法删除,你就需要这个级联权限了。它会撤销所有相关的外键关联。

CascadeType.REFRESH
  Cascade refresh operation,级联刷新操作。
  假设场景 有一个订单,订单里面关联了许多商品,这个订单可以被很多人操作,那么这个时候A对此订单和关联的商品进行了修改,与此同时,B也进行了相同的操作,但是B先一步比A保存了数据,那么当A保存数据的时候,就需要先刷新订单信息及关联的商品信息后,再将订单及商品保存。

CascadeType.ALL

Cascade all operations,拥有以上所有级联操作权限。

 

 









以上是关于springboot实体类的级联说明的主要内容,如果未能解决你的问题,请参考以下文章

休眠 - 多对多关系中的级联删除

如何在 EF 代码优先中禁用链接表的级联删除?

Doctrine 2 中的级联“刷新”是啥意思?

没有级联删除目标的级联删除关系

android房间数据库KOTLIN中的级联删除

关于Jsp页面的jstl标签的级联属性的异常。