- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是源代码:
@OneToOne(fetch = FetchType.LAZY)
@Cascade({SAVE_UPDATE, EVICT, DELETE})
@JoinColumn(name = "A_ID", nullable = true)
private A a;
@OneToMany
@Cascade({SAVE_UPDATE, EVICT, DELETE, DELETE_ORPHAN})
@JoinColumn(name = "B_ID")
private List<B> bList;
DELETE_ORPHAN 和 DELETE 之间有什么区别?
最佳答案
级联删除表示如果删除该实体,则删除相关的一个或多个实体。
DELETE_ORPHAN 表示如果从相关的一对多集合中删除一个实体,那么不仅会解除它与当前实体的关联,还会将其删除。
举个例子,考虑两个实体:House 和 Room。
House 上的房间列表中的 DELETE 表示如果您删除 House,则删除其所有房间。
House 的房间列表中的 DELETE_ORPHAN 表示如果您从该集合中删除房间,请将其完全删除。没有它,房间仍然存在,但不会附加到任何东西(因此是“孤儿”)。
在 UML 和 OO 建模术语中,这基本上是组合和聚合之间的区别。 House->Room 关系是组合的一个示例。 Room 是 House 的一部分,并不独立存在。
聚合的一个示例是类(class)(父级)到学生(子级)。删除类(class),学生仍然存在(无疑在其他类(class)中)。从类(class)中删除学生通常并不意味着删除他或她。
关于hibernate - DELETE_ORPHAN 和 DELETE 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1377585/
这是源代码: @OneToOne(fetch = FetchType.LAZY) @Cascade({SAVE_UPDATE, EVICT, DELETE}) @JoinColumn(name = "
我有如下自表映射: public class Node implements { @Id @GeneratedValue(strategy = GenerationType.AUTO) private
我是一名优秀的程序员,十分优秀!