Hibernate 与JPA2双向关联的负载策略

Hibernate 与JPA2双向关联的负载策略,hibernate,jakarta-ee,jpa,Hibernate,Jakarta Ee,Jpa,我在两个JPA2实体之间有一个1:N的双向关联。当我选择(使用JPQL请求)一个人时,我会得到已经收费的那个人的受影响CD列表 我期望(从我所读到的)当涉及到集合时(List,在我的例子中),默认情况下加载类型是惰性的。所以我希望有一个NullPointerException,而不是一个初始化的CD列表。即使我将加载策略指定为“LAZY”,我也会初始化CD列表 请求列表(我的意思是使用它的值)就足够了吗?JPA启动SQL重新请求来获取列表吗?延迟加载意味着在获取父对象时不获取列表,而是在访问关系

我在两个JPA2实体之间有一个1:N的双向关联。当我选择(使用JPQL请求)一个人时,我会得到已经收费的那个人的受影响CD列表

我期望(从我所读到的)当涉及到集合时(
List
,在我的例子中),默认情况下加载类型是惰性的。所以我希望有一个
NullPointerException
,而不是一个初始化的CD列表。即使我将加载策略指定为“LAZY”,我也会初始化CD列表


请求列表(我的意思是使用它的值)就足够了吗?JPA启动SQL重新请求来获取列表吗?

延迟加载意味着在获取父对象时不获取列表,而是在访问关系字段/属性时获取列表。您正在访问该属性,因此将获取CD列表。尝试记录DB语句,以确保它确实是延迟加载的。我尝试了一个记录DB,就像u hv所说的,当它“延迟”时,它不会在获取人时获取CD,当我请求时,它加载它…THX