Java Spring@Transactional不重写超类
我有以下场景,其中我有一个抽象超类作为服务,它有一个用Java Spring@Transactional不重写超类,java,spring,inheritance,transactions,Java,Spring,Inheritance,Transactions,我有以下场景,其中我有一个抽象超类作为服务,它有一个用@Transactional注释的方法。我只想在一个子类中注释该方法以使用特定的事务管理器。但是,当我逐步浏览代码时,它似乎仍然使用超类中指定的事务管理器 我检查了@Transactional的行为,并用@Inherited对其进行了注释。但是,Java文档指出,在本例中,注释在层次结构中的最低类中进行检查,然后在下一个最高类中进行检查 因此,根据这一点,我后面的@Transactional应该是正在使用的。但事实并非如此,我正试图找出是否还
@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
}
}
公共Abstract类超级服务{
@交易的
公共作废保存(){
//做些工作
}
}
公共类子服务扩展超级服务{
@凌驾
@事务性(“特殊事务管理器”)//