Встречается на собеседованиях • сегодня
В чем разница между состояниями Hibernate
Hibernate управляет объектами в нескольких состояниях:
- Transient – объект создан через
new, но не ассоциирован с сессией Hibernate. Не имеет представления в БД.
java
User user = new User(); // Transient- Persistent – объект связан с сессией Hibernate (после
save(),persist()или загрузки). Изменения отслеживаются и синхронизируются с БД.
java
session.save(user); // Теперь persistent-
Detached – объект был persistent, но сессия закрыта (
session.close()). Изменения не отслеживаются, но можно повторно прикрепить черезmerge()илиupdate(). -
Removed – объект помечен на удаление (
delete()), но ещё не удалён из БД. После коммита будет удалён.
Основное отличие – в управлении Hibernate и синхронизации с БД. Persistent объекты автоматически синхронизируются, transient/detached требуют явных действий.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы