我正在进行春季项目,在某些模型课中有类型
Cascade = {CascadeType.ALL}
用参数编写,例如:
@ManyToOne(获取= FetchType.EAGER,级联= CascadeType.ALL)
@JoinColumn(name =“ USER_ID”,nullable = false)
私人用户用户;
我的问题是,我们应该将其用于什么目的?
谢谢你。
最佳答案
此属性意味着将对类User(内部类)的关联对象执行与类(外部类)的对象关联的ALL(由于CascadeType.ALL)操作。
例如:
@Entity
public class Group {
@ManyToOne(fetch = FetchType.EAGER, cascade=CascadeType.ALL)
@JoinColumn(name="USER_ID", nullable=false)
private User user`
如果您尝试从数据库中删除组,则将导致删除关联的用户。
枚举CascadeType将帮助您指定要与关联用户一起执行的操作类型。
如果要指定级联执行只是为了删除并持久化,则必须执行以下操作:
@ManyToOne(cascade = {CascadeType.REMOVE, CascadeType.PERSIST}, fetch = FetchType.EAGER)