Что такое Состояния сущности в Hibernate?

Ответ

Transient (новый объект, Hibernate не знает), Persistent/Managed (связан с сессией), Detached (был persistent, но сессия закрыта), Removed (помечен на удаление).

Разбор: Правильная модель — четыре состояния: Transient (new, Hibernate не знает), Persistent/Managed (привязан к сессии), Detached (был persistent, сессия закрыта), Removed (помечен на удаление). Ловушка в перепутанных определениях и в мифе про Detached: автоматическое отслеживание изменений (dirty checking) действует только для Persistent, отсоединённый объект требует merge() для возврата в контекст. Отбросить состояние Transient нельзя — именно оно описывает только что созданный объект.

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

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