Spring Boot

Spring-transacties

Transactiebeheer met @Transactional, propagation, isolation, rollback, PlatformTransactionManager

30 gespreksvragen·
Senior
1

Wat is de belangrijkste rol van de @Transactional-annotatie in Spring?

Antwoord

@Transactional geeft aan dat een methode binnen een transactionele context moet worden uitgevoerd, wat de atomiciteit van databasebewerkingen waarborgt. Spring maakt automatisch een AOP-proxy rond de klasse om het starten, committen en rollbacken van transacties af te handelen. Deze declaratieve aanpak vereenvoudigt het transactiebeheer aanzienlijk in vergelijking met handmatig programmeren met TransactionTemplate of PlatformTransactionManager.

2

Wat is het standaard propagation-type voor @Transactional?

Antwoord

Propagation.REQUIRED is het standaard propagation-type. Met deze strategie sluit Spring zich aan bij een bestaande transactie als die er is, of maakt anders een nieuwe aan. Dit is het meest voorkomende en intuïtieve gedrag voor de meeste use cases en zorgt ervoor dat er altijd een transactie aanwezig is voor databasebewerkingen.

3

Wat gebeurt er als er een RuntimeException wordt geworpen in een @Transactional-methode?

Antwoord

Standaard voert Spring automatisch een rollback van de transactie uit wanneer er een RuntimeException (of Error) wordt geworpen. Dit zorgt ervoor dat databasewijzigingen ongedaan worden gemaakt bij onverwachte fouten. Checked exceptions daarentegen (die overerven van Exception maar niet van RuntimeException) veroorzaken standaard geen rollback, tenzij ze expliciet worden opgegeven met rollbackFor.

4

Waar kan de @Transactional-annotatie worden toegepast?

5

Welk gedrag hanteert Propagation.REQUIRES_NEW?

+27 gespreksvragen

Beheers Spring Boot voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis