Co tak na prawdę robi @Transactional?

Spróbujmy zapanować nad tym co się dzieje podczas używania różnych adnotacji w Springu. Jak to jest, że czasami @Transactional (i inne adnotacje) nie działają? Do czego przydaje się ThreadLocal? Jeżeli piszesz w Springu to uwierz mi – dotykasz tego każdego dnia. :)