1. 程式人生 > >Hibernate中使用JPA註解@OneToMany的cascade級聯標籤

Hibernate中使用JPA註解@OneToMany的cascade級聯標籤

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屬性,在刪除該實體時會丟擲異常,因為另一端可能被其他實體引用。