Вот пример, где я использую JdbcTemplate. Мой вопрос doMultipleCalls()
сбой на шаге 3 из-за runTimeException, все будет откатываться. У меня есть @Transactional
аннотация только doMultipleCalls
, но не другим. Является ли тот же сеанс транзакций общим для всех из них ?. Если не так, как пройти один и тот же сеанс транзакции?Откат транзакции весны с аннотацией @Transaction с использованием jdbcTemplates
@Component
public class MyRespository {
@Autowired
JdbcTemplate template
@Transactional
public void doMutlipleCalls() {
callUpdate(); //1
callInsert(); //2
callDelete(); //3
}
callUpdate() {
template.query(...)
}
callInsert() {
template.query(...)
}
callDelete() {
template.query(..)
}
}
так что это означало бы, если какой-либо вызов метода внутри 'doMultipleCalls' (скажем, 3) вызывает исключение RunTimeException, вызовы 1 и 2 возвращаются вправо? –
Справа. Любое исключенное исключение приведет к откату транзакции –