【发布时间】:2012-12-19 04:46:38
【问题描述】:
根据文档@Basic 默认情况下,EclipseLink JPA 忽略 fetch 属性,默认 javax.persistence.FetchType.EAGER
如何更改默认值以使其延迟加载?
【问题讨论】:
标签: jpa eclipselink lazy-loading
根据文档@Basic 默认情况下,EclipseLink JPA 忽略 fetch 属性,默认 javax.persistence.FetchType.EAGER
如何更改默认值以使其延迟加载?
【问题讨论】:
标签: jpa eclipselink lazy-loading
抱歉,该文档有误且令人困惑。我刚刚更新了。
默认情况下,@Basic 上的 LAZY 将起作用,只要启用了编织。在 JavaEE 和 JavaSE 中默认启用编织,当使用 EclipseLink 代理时。如果你在 JavaSE 中并且不能使用代理,那么你可以使用静态编织。
【讨论】:
您发布的链接还指出,如果不使用编织,则忽略基础和非集合映射的惰性。编织(通过运行时代理或静态编织器)允许更改字节码以添加延迟加载所需的代码。所以尝试使用这里描述的编织http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving
【讨论】: