Eclipselink如何延迟加载@Lob

时间:2012-12-19 04:46:38

标签: jpa eclipselink lazy-loading

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

如何更改默认设置以使其延迟加载?

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

2 个答案:

答案 0 :(得分:2)

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

默认情况下,@ Basic上的LAZY可以正常工作,只要启用了编织。默认情况下,在JavaEE中启用编织,在使用EclipseLink代理时启用JavaSE。如果您使用的是JavaSE且无法使用代理,则可以使用静态编织。

答案 1 :(得分:1)

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