У меня есть следующий метод:
public void deleteProject(Project project) {
employeeRepository.removeEmployeesFromProject(project);
roleRepository.removeRolesFromProject(project);
projectRepository.deleteProject(project);
}
Если какой-либо из запросов sql завершится неудачно (неожиданное исключение), я хотел бы откатить и отменить ранее выполненные операции. Поэтому, если третий запрос не удался, я хотел бы отменить изменения первых двух запросов. Есть ли способ и какой лучший способ сделать это? Я читал об аннотации @Transactional
, которая отправляет все запросы в одной транзакции. Я думал, что он может автоматически откатиться, если что-то не получится, но просто аннотировать метод с помощью @Transactional
не получится.