天天看點

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

繼續閱讀