【问题标题】:Spring boot 2 hibernate multiple schemaSpring Boot 2休眠多个模式
【发布时间】:2019-03-19 06:37:14
【问题描述】:

我有一个 db (MySql) 和几个模式 (schema_a,schema_b,schema_c)。这些模式具有相同的表,完全相同。

当前架构取决于当前用户(会话)数据。例如,当前用户来自 A 公司,则当前架构为“schema_a”。因此,EmployeeRepository.findAll() 方法从模式“schema_a”中获取数据。

在使用 Spring Boot 2 进行休眠时,是否可以动态更改当前 entityManager?如果是,怎么做?

请帮忙

【问题讨论】:

    标签: hibernate spring-boot multiple-schema


    【解决方案1】:

    您所说的称为多租户架构。

    您可以根据一些身份验证信息设置catalog(即您的情况下的架构)。

    您将如何做到这一点是实现一个interceptor,它确定需要设置什么架构,然后将正确的“租户”设置为TheardLocal(您的请求正在其上运行)。我使用这种方法取得了巨大成功,我相信它正是您正在寻找的。​​p>

    我可以在这里写出来,但是没有必要重复已经存在的内容。有一篇很好的文章,是我解决方案的灵感,建议大家看看here

    【讨论】:

    • @Norbest Bisci 感谢您的回答。我不知道多租户方法:)
    • @dosmac 我知道这种感觉,当我遇到这个问题时,我搜索了很长时间。很高兴它有帮助!快乐编码:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 2018-12-16
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    相关资源
    最近更新 更多