Hier ist ein Beispiel, in dem ich JdbcTemplate verwende. Meine Frage doMultipleCalls()
scheitert bei Schritt 3 aufgrund von runTimeException, wird alles Rollback erhalten. Ich habe @Transactional
Anmerkung nur zu doMultipleCalls
, aber nicht zu anderen. Wird dieselbe Transaktionssitzung für alle Benutzer gleichzeitig verwendet? Wenn nicht, wie die gleiche Transaktion Sitzung übergeben?Spring-Transaktions-Rollback mit @Transaction-Annotation mit Hilfe von 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(..)
}
}
also würde bedeuten, wenn einer der Methodenaufruf innerhalb 'doMultipleCalls' (sagen 3) RunTimeException wirft, Anruf 1 und 2 sind zurückgerollt richtig? –
Rechts. Jede ungeprüfte Ausnahme führt dazu, dass die Transaktion zurückgesetzt wird –