Spring Framework FAQ: Top Questions
48. How does Spring handle database transactions?
Spring abstracts transaction management via the @Transactional
annotation and integrates with JTA, JDBC, Hibernate, and JPA providers.
📘 Features:
- Declarative and programmatic transaction control.
- Nested transactions, rollback rules, propagation options.
📥 Example:
@Service
public class BankService {
@Transactional
public void transferMoney(Account from, Account to, double amount) {
from.debit(amount);
to.credit(amount);
}
}
🏆 Expected Output:
Entire transfer is committed or rolled back as a unit.
🛠️ Use Cases:
- Ensure data consistency across multiple database operations.
- Handle rollback scenarios on exceptions.