您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将子从其父迁移到另一个父时,将orphanRemoval设置为true

将子从其父迁移到另一个父时,将orphanRemoval设置为true

JPA规范中对此进行了记录。

第 节(节选):

应用于实体X的刷新操作的语义如下:

第 节(节选):

应用于实体X的persist操作的语义如下:

orphanRemovalJPA javadoc

(可选)是否 应用于已从关系中删除的实体,以及是否将删除操作应用于这些实体。

orphanRemovalhibernate文档

如果一个实体从删除@OneToMany集合或相关实体是由非关联@OneToOne的关联,这种关联的实体可以 ,如果orphanRemoval设置为true

因此,您将雇员E从部门中删除D1,并将其添加到部门中D2

然后,Hibernate将部门D1数据库同步,发现该部门E不在员工列表中,并标记E删除。然后,它D2数据库同步,并将PERSIST操作级联到员工列表(第3.2.4节)。由于E现在位于此列表中,因此级联将应用于此列表,并且Hibernate取消安排删除操作的时间表(第3.2.2节)。

您可能还想看看这个问题。

“如果orphanRemoval设置为true这种关系的反面会发生什么?”

您已经将它设置在反面(反面是声明的那一面mappedBy)。如果你的意思是,如果它被设置在什么 其他 方面(@ManyToOne在这种情况下),那就不是为什么没有在这样的属性意义和的@ManyToOne@ManyToMany

其他 2022/1/1 18:17:12 有579人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶