spring@transactional不重写超类

xwbd5t1u  于 2021-07-09  发布在  Java
关注(0)|答案(0)|浏览(211)

我有下面的场景,其中我有一个抽象的超类作为服务,它有一个用 @Transactional . 我只想在一个子类中注解该方法以使用特定的事务管理器。但是,当我逐步遍历代码时,它似乎仍然使用超类中指定的事务管理器。
我调查了 @Transactional 它被注解为 @Inherited . 但是,java文档指出,在这种情况下,注解将在层次结构中的最低类中进行检查,然后在下一个最高类中进行检查。
因此,根据这一点,我的晚些时候 @Transactional 应该是正在使用的。但事实并非如此,我正试图找出是否还有其他机制在起作用。
代码

public abstact class SuperService {
   @Transactional
   public void save () {
      // Do some work
   }
}

public class SubService extends SuperService {
   @Override
   @Transactional("specialTransactionManager") // <-- This never gets used
   public void save () {
      // Do some work
   }
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题