我正在研究遗留应用程序。它使用java,hibernate。问题是有使用Hibernate执行的SQL连接。
这些SQls由两个表TableA,TableB组成。问题是现在TableA移到美国的数据库,TableB移到英国的数据库。意味着两者都处于不同的位置和不同的模式。现在我必须迁移应用程序,以便可以执行这些连接。
如何使用此连接从这两个表中获取数据,或者如何配置hibernate以连接到不同的数据库,以便可以执行SQL连接。
答案 0 :(得分:4)
根据此Q& A:
...... Hibernate本身无法做到这一点。
另一种需要考虑的方法是使用XA来集成数据库。但这是重量级的,不太可能是高性能的。见本问答&答案
...总结如下:
在多个数据库上分发交易的最佳方式是:不要。
在你的情况下,这就是说你应该分别从两个表中提取数据然后"合并"他们以编程方式。笨重。
或者,与管理层进行长时间的讨论,讨论如何处理组织的裂脑数据库问题。 (例如,英国和美国的数据库是否都能拥有其他网站业务关键表的只读快照?)
请注意,以上内容基本上是"意见",但我认为我们不能做得更好。我的理解是没有"银弹"解决这个难题。