为什么private会使@Transactional失效
时间: 2023-10-27 14:39:26 浏览: 96
spring的@Transactional注解用法解读
在Java中,@Transactional注解被用来标记一个方法在执行时需要在一个事务中运行。但是,如果一个带有@Transactional注解的方法被声明为私有方法,那么事务管理器将无法捕获到该方法的调用,因为私有方法只能从同一个类中的其他公共方法调用,而事务管理器只会拦截公共方法调用。
因此,如果一个带有@Transactional注解的方法被声明为私有方法,那么它将不会在事务管理器的控制下运行,这意味着它可能会导致数据不一致或其他问题。因此,建议不要在私有方法上使用@Transactional注解。
阅读全文