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

Попадет ли сущность в кэш первого уровня при вызове save

При вызове save() в Hibernate сущность попадает в кэш первого уровня, но только после выполнения транзакции (при коммите). До этого она находится в состоянии PERSISTENT в контексте сессии. Пример:

java
Session session = sessionFactory.openSession();
session.beginTransaction();

// Сущность еще не в кэше
User user = new User("John");
session.save(user); // Теперь в состоянии PERSISTENT, но в БД еще не сохранена

// На этом этапе user уже в кэше первого уровня
session.getTransaction().commit(); // Запись попадает в БД
session.close();

Важно: кэш первого уровня привязан к сессии и очищается при ее закрытии.

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

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

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

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