Разница между get() и load() в Hibernate?

Ответ

get() — сразу идёт в БД и возвращает null если не найдено. load() — возвращает прокси, БД дёргается только при обращении к полям; если нет записи — ObjectNotFoundException.

Разбор: get() выполняет запрос немедленно и возвращает null, если сущности нет; load() возвращает ленивый прокси и обращается к БД лишь при доступе к полям, кидая ObjectNotFoundException для отсутствующей записи. Дистракторы меняют поведение методов местами или приписывают get() ленивость и исключение, которых у него нет.

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

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