我正在经历spring项目,在一些模型类中有类型
cascade =
用参数编写,例如:
@ManyToOne(fetch = FetchType.EAGER,cascade = CascadeType.ALL)@JoinColumn(name =“USER_ID”,nullable = false)私人用户用户;
我的问题是我们应该使用这个目的的目的是什么?
谢谢你 .
此属性意味着将对类User(Inner class)的关联对象执行与类(外部类)的对象关联的ALL(因为CascadeType.ALL)操作 .
例如:
@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)
1 回答
此属性意味着将对类User(Inner class)的关联对象执行与类(外部类)的对象关联的ALL(因为CascadeType.ALL)操作 .
例如:
如果您尝试从数据库中删除组,则会导致删除关联用户 .
Enum CascadeType将帮助您指定要对关联用户执行的操作类型 .
如果你想指定级联执行只是为了删除和持久化你必须做这样的事情: