正如标题所说,我有一个应用程序(Spring Boot),它必须对SQL Server数据库上的指定对象执行一些查询。此类数据库具有单个目录和多个模式,必须根据先前的查询和一些命令行参数进行选择。
我似乎无法实现涉及Hibernate多租户的策略,因为此站点上的大多数教程和答案都处理来自Web请求或外部参数的模式名称,而我在创建之前需要数据库连接主要多租户EntityManager。因此,我切换到自定义DataSource,尝试更改连接的默认架构(使用ALTER USER... WITH DEFAULT_SCHEMA = ...
)。但这也失败了,因为登录用户无权更改自己的默认架构。
所以我不知所措。有什么建议吗?
答案 0 :(得分:1)
只需为每个架构创建一个EntityManager(Factory),并将它们放在一个地图中即可供选择。
如果您事先不知道模式,则可以在了解模式后立即创建EntityManager(Factory)。
您可以以编程方式配置EntityManagerFactory。