Встречается на собеседованиях • сегодня

Какие знаешь состояния в Hibernate

Hibernate управляет состояниями объектов в контексте persistence:

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

Состояния важны для понимания жизненного цикла entity и управления синхронизацией с БД.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы