Use AspectJ or refactor code. Frame the concept in practical terms so you can explain it during interview discussion.
To resolve transaction self-invocation issues, you can either refactor the code to move the method to another bean, allowing Spring's proxy mechanism to apply, or use AspectJ to enable transactions through compile-time weaving. For example, by moving the method to another class, Spring can create a proxy for transaction management, ensuring the transactional behavior is applied.
Additional Notes
How can you resolve transaction self-invocation issues in Spring?