Spring Proxies Demystified: JDK Dynamic vs CGLIB — What Really Happens When You Add @Transactional

It was late on a Friday afternoon — the worst possible time for a production bug. A colleague called me over: “The transaction isn’t rolling back. I added @Transactional to the method but it’s still committing even when the exception is thrown.” He showed me the code. The annotation was there. The method was right. […]

Spring Proxies Demystified: JDK Dynamic vs CGLIB — What Really Happens When You Add @Transactional Read More »