Назад к вопросам
Senior
3
Как работает аннотация @Transactional в Spring?
Компании, где спрашивали
EXPERA
Ответ от нейросети
sobes.tech AI
Аннотация @Transactional в Spring используется для управления транзакциями базы данных. Когда метод помечен этой аннотацией, Spring автоматически начинает транзакцию перед выполнением метода и завершает её после.
Если метод выполняется успешно, транзакция коммитится — все изменения сохраняются в базе. Если во время выполнения возникает исключение (обычно RuntimeException), транзакция откатывается — все изменения отменяются.
Это позволяет гарантировать целостность данных без необходимости вручную писать код для начала, коммита и отката транзакций.
Пример:
@Transactional
public void saveUser(User user) {
userRepository.save(user);
// если здесь выбросится исключение, изменения не сохранятся
}