Встречается на собеседованиях • сегодня
Как внутри устроен EntityManager
EntityManager — это интерфейс JPA, управляющий жизненным циклом сущностей (Entity). Он работает с Persistence Context — областью памяти, где хранятся управляемые сущности.
Основные механизмы:
- Persistence Context — кэш первого уровня, хранящий сущности в состоянии Managed.
- Flush — синхронизация контекста с БД (автоматически перед транзакцией или вручную через
em.flush()). - Connection Pool — использует пул соединений для взаимодействия с БД.
- Lazy Loading — прокси-объекты для отложенной загрузки связанных сущностей.
Пример:
java
EntityManager em = entityManagerFactory.createEntityManager();
em.getTransaction().begin();
User user = em.find(User.class, 1L); // Сущность в Managed состоянии
user.setName("New Name"); // Изменения отслеживаются
em.getTransaction().commit(); // Изменения сохраняются в БД
em.close(); // Persistence Context закрываетсяТипы Persistence Context:
- Transaction-scoped (по умолчанию) — живет в рамках транзакции.
- Extended — сохраняется между транзакциями (используется в Stateful Beans).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы