Назад к задачам
Junior — Senior
3

Разбор влияния вложенных вызовов на транзакцию

Компании, где спрашивали:

СБЕРСБЕР
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Контроллер инициирует вызов метода doA() из сервиса ServiceA. Какие изменения будут зафиксированы в базе данных?

@Service
public class ServiceA {

    @Autowired
    private ServiceB serviceB;

    @Transactional
    public void doA() {
        try {
            serviceB.doB();
        } catch (Exception ex) {

        }
    }
}

@Service
public class ServiceB {

    @Transactional
    public void doB() {
        if (true) {
            throw new IllegalStateException();
        }
    }
}