В чём разница: Lazy vs Eager загрузка?

Ответ

Lazy — связь подгружается только при обращении (прокси). Eager — сразу в SELECT. Default для @OneToMany и @ManyToMany — Lazy, для @ManyToOne и @OneToOne — Eager.

Разбор: Lazy подгружает связь только при первом обращении (через прокси), Eager — сразу в исходном SELECT. По умолчанию -ToMany связи (@OneToMany, @ManyToMany) — Lazy, а -ToOne (@ManyToOne, @OneToOne) — Eager. Ловушка — перепутать стратегии местами или объявить единый default для всех связей; стратегия напрямую влияет на момент и состав SQL-запросов, а не только на кэш.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться