It can bypass transaction management. Frame the concept in practical terms so you can explain it during interview discussion.
Transaction self-invocation occurs when a method within a @Service class calls another method in the same class that's annotated with @Transactional. Spring's proxy-based transaction management won't apply to the internal method call, potentially leading to unexpected behavior, like missing transactions. To avoid this, separate the transaction logic into another service or use AspectJ-based weaving. In an e-commerce app, if an order processing service method internally calls another method to update inventory without going through a transaction proxy, the inventory update might not be transactional.
Additional Notes
How does transaction self-invocation affect method calls in a @Service class?