Согласно документации @Basic. По умолчанию EclipseLink JPA игнорирует атрибут fetch и по умолчанию javax.persistence.FetchType.EAGER.
Как изменить значение по умолчанию, чтобы оно загружалось лениво?
Согласно документации @Basic. По умолчанию EclipseLink JPA игнорирует атрибут fetch и по умолчанию javax.persistence.FetchType.EAGER.
Как изменить значение по умолчанию, чтобы оно загружалось лениво?
Извините, эта документация неверна и запутана. Я только что обновил его.
По умолчанию LAZY на @Basic будет работать, пока включено переплетение. Плетение включено по умолчанию в JavaEE и JavaSE при использовании агента EclipseLink. Если вы находитесь в JavaSE и не можете использовать агент, вы можете использовать статическое переплетение.
В ссылке, которую вы разместили, также указано, что ленивые сопоставления с основами и без коллекций игнорируются, если плетение не используется. Weaving (через агент времени выполнения или статический weaver) позволяет изменить байтовый код, чтобы добавить код, необходимый для ленивой загрузки. Поэтому попробуйте использовать переплетение, как описано здесь http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving