是否可以使用单个hibernate配置文件更新两个不同的数据库(oracle,sybase)?
如果第二个事务失败,我还希望第一个事务被回滚。有可能吗?
答案 0 :(得分:1)
我认为不可能从单个SessionFactory
连接到多个数据库,没有。
您可以拥有多个SessionFactory
个实例,但需另行配置。
如果第二个事务失败,我希望第一个事务被回滚。有可能吗?
如果要稳健地协调需要使用分布式事务查看的事务。阅读:JTA。您需要配置某种事务管理器,这可能很难设置并增加了很多复杂性。
如果您不需要一致性保证,可以考虑使用像Spring TransactionSynchronization
这样的东西。但它会变得混乱。它总是归结为“承诺一个而另一个”。
您是否考虑过运行两项任务并使用JMS之类的东西进行协调?这可能是一个更清洁的解决方案。