I want to know what actually happens when you annotate a method with @Transactional
?
Of course, I know that Spring will wrap that method in a Transaction.
All existing answers are correct, but I feel cannot give just this complex topic.
For a comprehensive, practical explanation you might want to have a look at this Spring @Transactional In-Depth guide, which tries its best to cover transaction management in ~4000 simple words, with a lot of code examples.