EclipseLink如何检测首次访问以进行延迟获取?

Pav*_*l_K 4 java jpa eclipselink java-ee

谁能解释EclipseLink如何检测对字段的首次访问以进行懒惰读取?似乎有些东西magic,我找不到方法。

如果我理解正确的@OneToMany关系,EclipseLink将创建实例org.eclipse.persistence.indirection.IndirectList来控制访问。但是我不明白EclipseLink对@ManyToOne关系的作用。

Sim*_*lli 5

在ManyToOne或OneToOne情况下,EclipseLink进行代码增强以检测访问。这意味着您将拥有一个代理,而不是真实的对象。

有文档:

https://www.eclipse.org/eclipselink/documentation/2.7/concepts/mappingintro002.htm#CHDJAHDC

同样有趣的是有关编织的章节。https://www.eclipse.org/eclipselink/documentation/2.7/concepts/app_dev005.htm#CCHJEDFH