JPA级联操作

JPA级联操作

在JPA中,如果对实体应用了任何操作,那么它只会在该特定实体上执行。 这些操作不适用于与其相关的其他实体。

为了建立相关实体之间的依赖关系,JPA提供了定义级联操作的javax.persistence.CascadeType枚举类型。 这些级联操作可以用任何类型的映射来定义,即一对一,一对多,多对一,多对多。

级联枚举

以下是用于执行级联操作的枚举。

级联操作 描述
PERSIST 在这个级联操作中,如果父实体持久存在,则其所有相关实体也将被持久化。
MERGE 在这个级联操作中,如果父实体被合并,则其所有相关实体也将被合并。
DETACH 在这个级联操作中,如果父实体被分离,那么它的所有相关实体也将被分离。
REFRESH 在此级联操作中,如果父实体被刷新,则其所有相关实体也将被刷新。
REMOVE 在这个级联操作中,如果父实体被移除,则其所有相关实体也将被移除。
ALL 在这种情况下,所有上述级联操作都可以应用于与父实体相关的实体。