作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑这个用例。
class Category {
@OneToMany(cascade=CascadeType.ALL)
List<Application> applications = new ArrayList<Application>();
}
class Application {
@ManyToOne
Category category;
}
我了解到,在这种情况下,当类别被删除时,应用程序也将被删除。但是谁负责连接表呢?为关系生成的 Category_Application 表。
最佳答案
无论级联
如何,都应始终删除连接表行。
对于拥有(非mappedBy
)端的双向ManyToMany
将删除行。
因为你有一个 ManyToOne
返回,看来你应该使用一个 mappedBy
,而不是一个连接表。
问题是它们没有被删除,还是您在删除它们之前收到约束错误?当您调用 remove()
时,还要确保您的集合不为空。在调用 remove
之前也尝试从集合中删除所有内容。
关于java - JPA CascadeType.ALL 不删除子记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6106750/
我是一名优秀的程序员,十分优秀!