springboot事务-失效的情况
本文总结了常见的事务失效情况及解决方法,主要包括:
1. **事务注解失效**:`@Transaction`必须作用于`public`方法,且需被Spring容器管理。
2. **数据库引擎问题**:MyISAM不支持事务,应使用InnoDB。
3. **异常处理不当**:异常被捕获未抛出或不在默认捕获范围内。
4. **传播行为设置**:如设置为`Propagation.NOT_SUPPORTED`或`Propagation.REQUIRES_NEW`可能导致事务失效。
5. **类内方法调用**:同一类中方法调用导致事务失效,需通过代理类或其他方式解决。