@Transactional este o componentă esențială în ecosistemul Spring Boot. Managementul declarativ al tranzacțiilor SQL cu definirea propagării, nivelului de izolare și rollback automat la excepții.
Sintaxă și Utilizare Practică
Exemplu practic documentat pas cu pas:
@Service
public class TransferService {
@Transactional(rollbackFor = Exception.class)
public void transferFunds(Long fromId, Long toId, BigDecimal amount) {
accountRepo.debit(fromId, amount);
accountRepo.credit(toId, amount);
}
}
Bune Practici în Producție
- Arhitectură și Tipizare: Folosiți DTO-uri, validare strictă și principii de decuplare (Inversion of Control).
- Performanță: Evitați interogările N+1, folosiți mecanisme de caching și rute asincrone unde este cazul.
- Securitate: Validați întotdeauna datele de intrare și aplicați filtre de autorizare pe toate endpoint-urile sensibile.