НЕ позволяйте откат транзакции для определенного типа RuntimeException - PullRequest
0 голосов
/ 04 марта 2020

Привет, есть ли способ разрешить откат весенней транзакции НЕ после того, как я сгенерировал определенный вид RuntimeException?

У меня есть класс с именем CustomException, расширяющий RuntimeException, я хочу сделать sth, прежде чем выбросить его. Но из-за отката все, что делается с помощью doSth (), откатывается.

doSth();
throw new CustomException();

Я могу справиться с этим, изменив CustomException с расширения RuntimeException на Exception, чтобы оно стало проверенным исключением.

Однако после этого мне придется добавить throws CustomException ко всем методам, которые будут вызывать этот блок кода. Так что просто интересно, есть ли более изящный способ

1 Ответ

1 голос
/ 04 марта 2020

Вы должны использовать атрибут noRollbackFor @ Transactional.

@Transactional(noRollbackFor = customException.class) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...