In Spring Boot, self-invocation of a method within the same class bypasses the proxy object that manages transaction boundaries, causing transactional annotations like @Transactional to be ignored. This can lead to unexpected behavior, such as data not being committed. For example, if a method updates an order status within another method of the same service class, the transactional behavior might not apply unless properly structured to go through the proxy.
Additional Notes
How does self-invocation affect @Transactional methods in Spring Boot?