Back to questions
АЙ-ТЕКО
РЖД
Северсталь-Ифоком
Junior — Middle
57
Какова роль аннотации @Transactional в фреймворке Spring и в каких сценариях она применяется?
Companies where asked
ООО Антара
Surf
Firecode
ФСК
ООО Динамика
eRaga Infosystem
айтеко
Answer from AI
sobes.tech AI
Аннотация @Transactional в Spring используется для управления транзакциями на уровне методов или классов. Она гарантирует, что все операции внутри метода выполняются в рамках одной транзакции, которая либо полностью завершается успешно (commit), либо откатывается при ошибке (rollback).
Сценарии применения:
- Операции с базой данных, где важно сохранить целостность данных.
- Методы сервисного слоя, которые объединяют несколько действий, требующих атомарности.
Пример:
@Service
public class UserService {
@Transactional
public void createUser(User user) {
userRepository.save(user);
// другие операции, которые должны быть атомарными
}
}
Если в методе произойдет исключение, все изменения в базе данных будут отменены.