我有下面的场景,其中我有一个抽象的超类作为服务,它有一个用 @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
}
}
暂无答案!
目前还没有任何答案,快来回答吧!