我正在进行春季项目,在某些模型课中有类型


  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)

10-06 14:06