Below you will find pages that utilize the taxonomy term “Transactions”
Notesread more
Spring @Transactional does not mean what you think
In review I still see @Transactional used as a blessing: put it on a method, and the database will behave. It will not. Spring starts a transaction when a proxy intercepts an incoming call. If the call never hits the proxy, you have no transaction, no rollback, and a very confusing production bug.
What I believed → what I do now
I used to sprinkle @Transactional on every service method “to be safe.” I now put it on the one method that is the use-case boundary, I write a test that proves rollback, and I treat same-class private calls as a smell.