java - 如何在 Spring Hibernate 运行时设置数据库名称

标签 java spring hibernate

问题描述

我有来自 6 台不同机器的 6 个数据库,并且有一台云服务器。它将在用户登录时决定应用程序将使用哪个数据库。

我能够连接单个数据库。但我不知道如何处理数据库的动态名称。

更新:

我能够动态更改数据库,但出现了一个问题。只有一个通用数据库(放置在云服务器上)中有一些存储过程(我有限制,无法将存储过程添加到所有数据库),因此我无法调用任何其他数据库的存储过程。我怎样才能打电话?

请给我一些想法。

最佳答案

在 Spring 中,有一个名为 AbstractRoutingDataSource 的类,它可以满足您的要求,浏览文档您会找到一些有关如何实现该类的具体类的帮助,您需要更改(或添加)现有代码的某些部分,以便配置动态数据源This blog来自 spring 源代码正在解释这一点。

关于java - 如何在 Spring Hibernate 运行时设置数据库名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10756346/

相关文章:

java - 如何检测字符串中是否存在 URL

java - JUnit 异常处理测试

java - 翻转 jcombobox 怎么样?

java - 列出流,获取价格最低的项目

java - 端点处理程序映射 : Did not find handler method for message in the logs

spring - 注入(inject)bean列表时,列表中的顺序是否与bean定义的顺序相同

Spring 服务和存储库层约定

java - 玩法 2 - 默认 ebeanServer 尚未定义

java - Spring /hibernate : New entity-classes in dependend project

java - 动态报表 + Hibernate