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

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

В Hibernate объекты могут находиться в одном из четырёх состояний:

  1. Transient – объект создан через new, но не ассоциирован с сессией Hibernate. Не имеет представления в БД.

    java
    User user = new User(); // Transient
  2. Persistent – объект связан с сессией Hibernate (после save(), persist(), update(), merge() или загрузки из БД). Изменения отслеживаются и синхронизируются с БД.

    java
    session.save(user); // Persistent
  1. Detached – объект был persistent, но сессия закрыта (session.close()). Изменения не отслеживаются, но есть представление в БД.

    java
    session.close(); // Теперь user в состоянии Detached
  2. Removed – объект помечен на удаление (delete()), но ещё не удалён из БД (до коммита транзакции).

    java
    session.delete(user); // Removed

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

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

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

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

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