1

根据文档@Basic 默认情况下,EclipseLink JPA 忽略 fetch 属性和默认 javax.persistence.FetchType.EAGER

您如何更改默认值以使其延迟加载?

http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Lazy_Basics

4

2 回答 2

2

抱歉,该文档错误且令人困惑。我刚刚更新了它。

默认情况下,@Basic 上的 LAZY 将起作用,只要启用了编织。在 JavaEE 和 JavaSE 中默认启用编织,当使用 EclipseLink 代理时。如果你在 JavaSE 中并且不能使用代理,那么你可以使用静态编织。

于 2012-12-19T15:03:34.040 回答
1

您发布的链接还指出,如果不使用编织,则忽略基础和非集合映射的惰性。编织(通过运行时代理或静态编织器)允许更改字节码以添​​加延迟加载所需的代码。所以尝试使用这里描述的编织http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving

于 2012-12-19T15:00:59.563 回答