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

Какие знаешь состояния Persistence Context

Persistence Context в JPA имеет несколько состояний сущностей:

  1. New/Transient - сущность создана, но не связана с Persistence Context (нет @Id).
java
User user = new User(); // Transient
  1. Managed - сущность привязана к Persistence Context (после persist() или find()).
java
em.persist(user); // Теперь Managed
  1. Detached - сущность была Managed, но Persistence Context закрыт или очищен.
java
em.detach(user); // Или em.close()
  1. Removed - сущность помечена на удаление (после remove()), но ещё не удалена из БД.
java
em.remove(user); // Состояние Removed

Сущности в состоянии Managed автоматически отслеживаются - изменения синхронизируются с БД при flush() или commit(). Detached сущности можно повторно привязать через merge().

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

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

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

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