Встречается на собеседованиях • сегодня
Обновится ли сущность, если в транзакции обновить поля сущности и без вызова save
В JPA/Hibernate сущность обновится в БД даже без явного вызова save(), если изменения произошли внутри активной транзакции и транзакция завершилась успешно (commit). Это работает благодаря механизму автоматического "dirty checking".
Пример:
java
@Transactional
public void updateUser(Long userId) {
User user = userRepository.findById(userId).orElseThrow();
user.setName("New Name"); // Изменение будет сохранено при коммите
// save() не вызывается явно
}Условия для автоматического обновления:
- Сущность находится в состоянии managed (привязана к текущей сессии)
- Изменения происходят внутри транзакции
- Транзакция завершается успешно (commit)
Исключение: если используется readOnly=true в транзакции, изменения не сохранятся.

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