Назад к вопросам
СБЕР
Альфа-Банк
Aston
Junior — Middle
95
Объясните механизм действия аннотации @Transactional в Spring Framework и как она обеспечивает управление транзакциями.
Компании, где спрашивали
Stroki
Ответ от нейросети
sobes.tech AI
Аннотация @Transactional в Spring Framework используется для управления транзакциями на уровне методов или классов.
Механизм действия:
- При вызове метода с @Transactional Spring создает прокси, который открывает транзакцию перед выполнением метода.
- Если метод выполняется успешно, транзакция коммитится (сохраняются изменения).
- Если во время выполнения возникает исключение (обычно RuntimeException), транзакция откатывается, отменяя все изменения.
Таким образом, @Transactional обеспечивает атомарность операций, гарантируя, что либо все изменения внутри метода применятся, либо ни одно не будет сохранено.
Пример:
@Service
public class UserService {
@Transactional
public void createUser(User user) {
userRepository.save(user);
// другие операции, которые должны быть в одной транзакции
}
}