Opening drill
How does @Transactional work, and why can self-invocation bypass it? | Aporeon