私は 2 つのデータベース (MySQL と HSQL) を扱っているので、Spring アプリには 2 つのトランザクション マネージャーが必要です。このコードを見てください:
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{
}
異なるデータベースで実行したいのですが、ClientServiceHSQL
例外ClientServiceMySQL
が発生しています。アノテーションは継承されたメソッドには影響しないようです。現時点では、正常に呼び出すことができるように各クラスに実装する必要がありますが、私にとってはこれは良くありません。継承されたメソッドもトランザクションにする方法はありますか?doSomething()
"org.hibernate.HibernateException: No Session found for current thread"
@Transactional
doSomething()
@Transactional
doSomething()