我想现在Hibernate中CascadeType和FetchType有什么区别?
它们看起来非常相似,但我猜它们不可互换,对吧? 什么时候使用它们?它们可以同时使用吗?
答案 0 :(得分:7)
这是两件不同的事情:
Hib中的CascadeType
。可以是REFRESH
,MERGE
,...,ALL
您将其置于相关实体下,而则确定相关实体的行为(如果当前实体)是:刷新,更新,删除等等。因此,只要您的实体受到影响,CascadeType
就会告知相关实体是否也会受到影响。
FetchType
只能是2:EAGER
和LAZY
。这个你也可以放在相关实体下面,它确定当初实体当前实体是否应该立即初始化相关实体(EAGER
)或仅按要求< / strong>(LAZY
)。
答案 1 :(得分:1)
两者都是不同的配置,您可以将它与简单的SQL相关联。
Cascade告诉你当一个实体更新时会发生什么(在sql中删除级联)
Fetch告诉你如何执行查询(join,lazy ...)
答案 2 :(得分:0)
Cascading用于将entity state transitions从父实体传播到子级。
Fetching用于加载相关实体,您可以:
答案 3 :(得分:0)
他们俩之间有很大的不同。
您可以在以下位置找到有关它们的更多信息: