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

Какой жизненный цикл сущности в JPA

Жизненный цикл сущности в JPA включает 4 состояния:

  1. New (Transient) - объект создан, но не связан с EntityManager. Не имеет представления в БД.
java
User user = new User(); // Transient
  1. Managed (Persistent) - объект связан с контекстом persistence. Изменения отслеживаются и синхронизируются с БД.
java
entityManager.persist(user); // Managed
  1. Detached - объект был в Managed, но связь с EntityManager потеряна (после close() или clear()). Изменения не отслеживаются.
java
entityManager.detach(user); // или закрытие EM
  1. Removed - объект помечен на удаление из БД, но еще не удален физически.
java
entityManager.remove(user); // Removed

Переход между состояниями осуществляется через методы EntityManager: persist(), merge(), remove(), detach().

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

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

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

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