JPA Spring数据级联删除组合多对多关系
问题描述:
我错过了有关JPA级联删除的内容 - 我真的很感激这里的指针。JPA Spring数据级联删除组合多对多关系
我有一个模型,简化了这一问题,三种类型一的:
- 用户设置自己的一切
- 用户可以有许多组
- 用户可以有很多话题
一主题可以添加到许多组。
如果用户被删除,所有团体和主题都将被删除
- 如果一个组被删除,主题是从该组删除,但如果主题被删除,不会删除
- ,它从组中删除和用户,但用户和组仍然
所以我只是试图不同的级联每春季的数据文档,并没有得到我描述的结果。我的瀑布错了 - 目前,如果我删除了一个主题,该组和用户被删除,所以索引是双向的,这不是我想要的。
用户:
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "owner")
private Set<Topic> topics;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "owner")
private Set<Group> groups;
组:
@ManyToMany(cascade = {CascadeType.PERSIST})
private Set<Topic> topics;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name="user_id")
@OneToOne(mappedBy = "owner", cascade = CascadeType.ALL)
private User owner;
主题
@ManyToMany(mappedBy = "topics")
private Set<EntityGroup> groups;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name="user_id")
@OneToOne(mappedBy = "owner", cascade = CascadeType.ALL)
private User owner;
答
事情我失踪了,现在似乎很明显,是不是包括级联值孩子的对象。在这样做的时候,我告诉JPA将级联删除到父级。