我很好奇,需要快速找到答案。Google不会有太大帮助。
Java Persistence API具有这些属性,这些属性告诉框架对相关实体进行级联操作:
CascadeType.PERSIST
CascadeType.DELETE
CascadeType.MERGE
CascadeType.REFRESH
我知道前两个是什么意思:当我持久化具有B的对象A时,也持久化B,并且在删除A时也删除B。
但是我无法理解其他两个人的成就。救命?
我很好奇,需要快速找到答案。Google不会有太大帮助。
Java Persistence API具有这些属性,这些属性告诉框架对相关实体进行级联操作:
CascadeType.PERSIST
CascadeType.DELETE
CascadeType.MERGE
CascadeType.REFRESH
我知道前两个是什么意思:当我持久化具有B的对象A时,也持久化B,并且在删除A时也删除B。
但是我无法理解其他两个人的成就。救命?
Answers:
REFRESH的意思是“将数据库中的任何状态更改都放入我的表示中”。级联这很简单;这意味着将刷新所有关联的实体。
MERGE表示某种复杂的事物,近似于“保存”,但更像是“将该分离的实体推回托管状态并保存其状态更改”;级联意味着所有关联的实体都以相同的方式被推回,并且您从中获得的托管实体句柄.merge()
具有与之关联的所有托管实体。
CascadeType
默认为空数组。
我本人以这种方式看到它们(更具可读性):