对于监控解决方案,我需要连接到具有多个数据库链接的 Oracle 数据库。为了简单起见,我将它们称为主节点和节点。
在Oracle中,您可以在数据库内定义数据库链接,它可以让您连接到不同的数据库,对不同数据库的选择用@符号标记,例如:
SELECT * from users; //local instance
SELECT * from users@db_link_name1 // remote db
由于这是动态的,这意味着每个主数据库上可能有多个数据库链接,我在使用休眠时遇到问题
在休眠(java)中,我会将表用户映射到
Users.class
。所有远程数据库中始终具有相同的表示意图。在寻找解决方案时,主要建议使用同义词,但就我而言,这不是一个可行的解决方案,因为类始终相同,因此使用同义词作为表名是行不通的。我需要一种通过数据库链接进行选择的方法,然后始终映射到同一个类。
如何在hibernate中使用DB Links?
您可以为表@remote db 创建视图并在视图上映射 Hibernate 实体。