“JOIN FETCH”和“JOIN”有什么区别?

时间:2015-03-12 14:57:17

标签: jpa jpa-2.0

假设我有一个与Person实体有@OneToMany关系的Phone实体。如果我想急切地获取与Phone相关联的Person个实体,我有2个选项:

SELECT p FROM Person p JOIN p.phones

SELECT p FROM person p JOIN FETCH p.phones

那么它们之间有什么区别?

1 个答案:

答案 0 :(得分:0)

请记住,最后,JOIN FETCH始终是JOIN。 默认情况下,@OneToMany关系是延迟加载的。 使用JOIN FETCH可以提前加载相关实体。

您可以通过Piotr Nowicki找到更多信息阅读FETCH JOIN is still a JOIN