(转载)JPA的CascadeType和FetchType
链接: https://www.jianshu.com/p/b8595aee06ac CascadeType 概述 cascade表示级联操作,在hibernate配置注解 @OneToOne ,@OneToMany, @ManyToMany ,@ManyToOne中的属性 级联在编写触发器时经常用到,触发器的作用是当主控表信息改变时,用来保证其关联表中数据同步更新。若对触发器来修改或删除关联表相记录,必须要删除对应的关联表信息,否则,会存有脏数据。所以,适当的做法是,删除主表的同时,关联表的信息也要同时删除,在hibernate中,只需设置cascade属性值即可 参考 设置CascadeType,表示给当前设置的实体操作另一实体的权限,如: public class Student { @ManyToMany ( cascade = CascadeType . PERSIST , fetch = FetchType . LAZY ) private Set < Course > courses = new HashSet < > ( ) ; //其他代码略。 } 上述代码中,Student为当前实体,Course即为另一实体,允许Student实体对于Course实体进行PERSIST操作,即保存Student实体时,与之关联的Course实体也会保存,而没有这个权限