Откат в кратных запросах с использованием JDBC spring

у меня есть эта проблема, когда я выполняю два запроса в одной и той же функции, если второй запрос выдает исключение и не работает, первый запрос сохраняет ваш результат в базе данных, оба запроса вставляются в ddbb ПРИМЕР:

public void myFunction(){
  query1(); //insert data in ddbb
  query2(); // also try to insert data in ddbb but not working and throw exception
}

в этом случае мне нужно выполнить откат в обоих запросах, но в настоящее время запрос 1 не выполняет откат и сохраняет свою вставку в базе данных.

Я использую весенние данные JDBC

спасибо и извините за мой английский, это не мой родной язык


person roberto fernandez    schedule 25.06.2020    source источник
comment
решение @Transactional работает, но только если я прокомментирую класс, в котором у меня есть аспекты, знаете почему?   -  person roberto fernandez    schedule 25.06.2020


Ответы (1)


Вы можете аннотировать свой метод с помощью @Transactional, что даст указание Spring откатить весь метод в случае исключения:

@Transactional
public void myFunction(){
    // insert data in ddbb
    // also try to insert data in ddbb but not working and throw exception
}
person Tim Biegeleisen    schedule 25.06.2020
comment
Ваше решение работает, но только если я прокомментирую класс, в котором у меня есть аспекты, знаете почему? - person roberto fernandez; 25.06.2020
comment
Это не работает, аннотация должна быть в методе или классе, вызывающем эти два метода. - person Mark Rotteveel; 26.06.2020
comment
аннотация должна быть в первом методе, который инициирует запросы, чтобы охватить все запросы и разрешить откат - person roberto fernandez; 02.07.2020