Hibernate / JPA trainee
Что лучше — Lazy или Eager?
Ответ
Lazy. Eager почти всегда плохо — Hibernate тянет лишнее, и часто это даёт N+1 в неожиданном месте. Правило: ставь Lazy везде, а конкретный JOIN FETCH делай в запросах, где данные действительно нужны.
Разбор: По умолчанию предпочитают Lazy, чтобы Hibernate не тянул лишние данные и не плодил скрытый N+1, а нужные связи догружают явным JOIN FETCH в конкретных запросах. Дистракторы либо предлагают Eager как стратегию по умолчанию, либо ложно утверждают, что Hibernate сам выбирает стратегию и игнорирует аннотации, либо возводят дефолтные значения fetch в нерушимое правило.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.