Как EclipseLink обнаруживает первый доступ для ленивого извлечения? - PullRequest
4 голосов
/ 10 июня 2019

Может ли кто-нибудь объяснить, как EclipseLink обнаруживает первый доступ к полю для ленивой выборки? Кажется, есть некоторые magic, и я не могу найти способ, как это делается.

Если я правильно понял для @OneToMany отношения, EclipseLink создает intance org.eclipse.persistence.indirection.IndirectList, который контролирует доступ. Но я не могу понять, что EclipseLink делает для @ManyToOne отношения.

1 Ответ

5 голосов
/ 10 июня 2019

В случае 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

...