Spring-transacties
Transactiebeheer met @Transactional, propagation, isolation, rollback, PlatformTransactionManager
1Wat is de belangrijkste rol van de @Transactional-annotatie in Spring?
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.
2Wat is het standaard propagation-type voor @Transactional?
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.
3Wat gebeurt er als er een RuntimeException wordt geworpen in een @Transactional-methode?
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.
Waar kan de @Transactional-annotatie worden toegepast?
Welk gedrag hanteert Propagation.REQUIRES_NEW?
+27 gespreksvragen
Andere Spring Boot-sollicitatieonderwerpen
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging met SLF4J & Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Uitzonderingsafhandeling
Bean Validation
Spring Data JPA-basis
JPA-entiteiten en relaties
JPA-query's
Spring Data Repositories
Spring Security Basis
Spring Boot Actuator
Unit testing met JUnit & Mockito
Spring Boot testen
Profiles en Environment
RestTemplate en WebClient
Async & Scheduling
Caching met Spring
Spring WebFlux (Reactive)
Geavanceerde authenticatie en autorisatie
JWT & stateless beveiliging
OAuth2 & Authorization Server
Spring Boot en Docker
Microservices met Spring
Spring Cloud Config
Prestatie-optimalisatie
GraalVM Native Images
Beheers Spring Boot voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis