Spring AOP proxies don't intercept self-invocations.
In Spring, transactional behavior is applied through AOP proxies. These proxies only work for external method calls on the proxied object. If a method annotated with `@Transactional` is called from within the same class, it bypasses the proxy, and the transaction management won't apply. For example, calling a `saveOrder()` method from within the same `OrderService` class won't trigger transaction management.
Additional Notes
Why can self-invocation fail for @Transactional methods?