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

В чем разница между Persistent Context и EntityManager

Persistent Context — это набор управляемых (managed) сущностей, которые отслеживаются JPA для изменений. EntityManager — это интерфейс для взаимодействия с Persistence Context, предоставляющий методы для CRUD-операций (persist(), merge(), remove() и т.д.).

Ключевые отличия:

  • Persistence Context — это "контейнер" сущностей, EntityManager — API для работы с ним.
  • Persistence Context может быть транзакционным (привязан к транзакции) или extended (например, в Stateful Session Beans).
  • EntityManager управляет жизненным циклом сущностей внутри контекста.

Пример:

java
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();

// Сущность становится managed в Persistence Context
User user = em.find(User.class, 1L); 
user.setName("New Name"); // Изменение отслеживается

em.getTransaction().commit(); // Изменения синхронизируются с БД
em.close();
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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