天天看点

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属性,在删除该实体时会抛出异常,因为另一端可能被其他实体引用。

继续阅读