How @Transactional Actually Works Under the Hood in Spring Boot

Thirteen characters, a runtime proxy, and a JDBC flag called autoCommit. Here's the full machinery — and the four places it quietly breaks