gpt4 book ai didi

java - 使用cascade={CascadeType.TYPE_NAME}的目的是什么

转载 作者:行者123 更新时间:2023-12-01 16:51:27 28 4
gpt4 key购买 nike

我正在经历 spring 项目,在一些模型类中有类型

cascade={CascadeType.ALL}

写入参数例如:,

@ManyToOne(fetch = FetchType.EAGER,cascade=CascadeType.ALL)@JoinColumn(name="USER_ID", nullable=false)

private User user;

我的问题是我们应该使用它的目的是什么?

谢谢你。

最佳答案

此属性意味着与类(外部类)的对象关联的所有(因为 CascadeType.ALL)操作都将为类 User(内部类)的关联对象执行。

例如:

@Entity
public class Group {

@ManyToOne(fetch = FetchType.EAGER, cascade=CascadeType.ALL)
@JoinColumn(name="USER_ID", nullable=false)
private User user`

如果您尝试从数据库中删除组,则会导致关联用户的删除。

Enum CascadeType 将帮助您指定要与关联用户执行哪种操作。

如果你想指定级联执行只是为了删除和持久化,你必须这样做:

@ManyToOne(cascade = {CascadeType.REMOVE, CascadeType.PERSIST}, fetch = FetchType.EAGER)

关于java - 使用cascade={CascadeType.TYPE_NAME}的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39286889/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com