是否有可能更新两个不同的数据库(oracle,sybase)单个hibernate配置文件?

时间:2012-02-28 13:01:14

标签: hibernate

是否可以使用单个hibernate配置文件更新两个不同的数据库(oracle,sybase)?

如果第二个事务失败,我还希望第一个事务被回滚。有可能吗?

1 个答案:

答案 0 :(得分:1)

我认为不可能从单个SessionFactory连接到多个数据库,没有。

您可以拥有多个SessionFactory个实例,但需另行配置。

  

如果第二个事务失败,我希望第一个事务被回滚。有可能吗?

如果要稳健地协调需要使用分布式事务查看的事务。阅读:JTA。您需要配置某种事务管理器,这可能很难设置并增加了很多复杂性。

如果您不需要一致性保证,可以考虑使用像Spring TransactionSynchronization这样的东西。但它会变得混乱。它总是归结为“承诺一个而另一个”。

您是否考虑过运行两项任务并使用JMS之类的东西进行协调?这可能是一个更清洁的解决方案。