Parent-Child關系
在介紹級聯标簽之前要說一下@OneToOne、@OneToMany、@ManyToOne、@ManyToMany的父子關系(或者母子關系T.T)。
@OneToOne和@ManyToMany中:可自行選擇
@OneToMany中:One端是parent端。
Cascade屬性使用
級聯标簽有以下幾個屬性:
CascadeType.PERSIST 、CascadeType.MERGE、CascadeType.REMOVE、CascadeType.DETACH、CascadeType.ALL。
“Only the parent side of an association makes sense to cascade its entity state transitions to children.”官方文檔中明确說明,隻有parent端聲明cascade屬性有效。其中ManyToMany如果聲明為CascadeType.ALL屬性,在删除該實體時會抛出異常,因為另一端可能被其他實體引用。