我有一个遗留的Web应用程序,WAR包装。
在DAO文件中使用硬编码的sql字符串编写。它连接到oracle db的多个模式。
select ... from schema1.one_table join schema2.other_table on...
我必须实现的是在不同的数据库中使用模式。
我被建议自动装载两个jdbcTemplates并从中查询数据,然后在java中执行加入过滤逻辑。
我觉得这是一个糟糕的解决方案,原因有几个。我不想在java中实现加入过滤,我相信oracle引擎可以提高效率百倍。
如何重写查询以不仅指定架构而且还指定db实例?这可能吗?
答案 0 :(得分:2)
我认为这不能直接用JDBC完成。你可以像我在我的一个项目中那样遵循以下步骤:
这样,您可以直接从一个数据库访问远程表,然后可以使用任何普通的JDBC / JDBCTemplate / Hibernate等来运行您的业务。