@Transactional和继承的方法

时间:2012-11-12 02:22:21

标签: java spring hibernate

我正在使用两个数据库(MySQL和HSQL),因此我需要在Spring应用程序中使用两个事务管理器。请看一下这段代码:

public abstract class ClientService implements IClientService{
public void doSomething(){
}
}

public interface IClientService{
void doSomething();
}

@Transactional("txManagerHSQL")
public class ClientServiceHSQL extends ClientService{
}

@Transactional("txManagerMySQL")
public class ClientServiceMySQL extends ClientService{
}

我希望ClientServiceHSQLClientServiceMySQL在不同的数据库上执行doSomething(),但我得到"org.hibernate.HibernateException: No Session found for current thread"例外。似乎@Transactional注释不会影响继承的方法。目前,我必须在每个doSomething()课程中实施@Transactional才能成功调用doSomething(),但对我来说这并不好。有没有办法让继承的方法也是事务性的?

0 个答案:

没有答案