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

Когда происходит запись нескольких сущностей в Persistence Context

При записи сущностей в Persistence Context (контекст persistence) в JPA/Hibernate есть несколько ключевых моментов:

  1. При вызове entityManager.persist(entity) сущность переходит в состояние managed и становится частью контекста.

  2. При коммите транзакции (entityManager.getTransaction().commit()) все изменения в управляемых сущностях синхронизируются с БД.

  1. При вызове entityManager.merge(entity) сущность либо добавляется в контекст, либо обновляется, если уже существует.

Пример:

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

User user1 = new User("Alice");  // transient
em.persist(user1);  // теперь managed

User user2 = em.find(User.class, 1L);  // managed
user2.setName("Bob");  // изменения будут записаны

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

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

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

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