当前位置: 首页 > 知识库问答 >
问题:

具有Spring Boot和Hibernate的多租户和中央数据库

洪照
2023-03-14

每个租户都有自己的数据库,可以更详细地处理用户,并且需要有一个中央数据库来处理:

  • 代币(OAuth2)

我已经找到了多租户的解决方案,它允许我根据用户确定数据源。然而,我不确定如何将某些crud存储库链接到这个中心数据源,而将其他存储库链接到可变数据源。

另一个解决方案涉及更新属性文件,并使用配置服务器(即通过git)来触发@ReresScope注释配置。虽然我不确定这是否适用于数据源,或者这是否会导致以后的问题。

我在这个项目中大量使用Spring Boot和Hibernate。

共有1个答案

司徒嘉祥
2023-03-14

这篇博客提供了一个很好的教程。

经过大量研究后,hibernate似乎并不是为实现这一点而构建的,但通过手动编写模式,我可以使用本机查询将其注入新的租户数据库。

我还遇到了MS Server DBs的问题,因为它们不允许简单地添加;createDatabaseIfNotExist到JDBC URL,这意味着更多的本地查询(无论如何,将项目转移到使用MySQL,所以这不再是一个问题)

 类似资料:
  • 我试图掌握如何使用Hibernate、Spring和MySQL实现多租户。对于第一个游乐场示例,我选择了单独的数据库方法:每个租户都有自己的数据库,名为accodingly。此外,还使用另一个数据库来管理租户。特定于租户的数据库保存了一些员工数据。对于第一种方法,我不强制用户进行身份验证。 我发现很难得到关于这个话题的全面教程,这就是为什么我现在有点迷路。当我尝试部署Tomcat时,会收到以下消息

  • 我必须实现多租户Web应用程序,具有以下要求 > 单表多租户:特定实体的所有租户数据都将存储在一个表中,TENANT_DISCRIMINATOR(TENANT_ID)作为每个表中的一列。 一些表格,例如Master Countries、Masters,我希望它对所有租户都是通用的,即在这些表中,不会有像TENANT\u DISCRIMINATOR(TENANT\u ID)这样的列,但我仍然希望无缝

  • 我需要一个概念来设计一个使用Spring boot、Hibernate和JPA的多数据库应用程序。 目前我正在考虑支持4个关系数据库(Mysql,H2,SQLLite,Oracle)。 我所做的是使用spring boot profile特性选择正确的数据库profile,然后加载相关的数据库属性。

  • 我在一个多租户环境中工作,在这个环境中,数据可以从大约10个不同的数据源(和实体管理器)通过网络应用程序(rest)前端访问。 要使用的entityManager取决于其余api中的URL参数,例如。api/订单/1/1000003。 我需要使用entitymanager“1”来获取数据。目前,在创建hibernate会话和通过hibernate条件创建查询之前,我正在使用存储库层中调用setDi

  • 我们正在开发一个多租户应用程序。在体系结构方面,我们为业务逻辑设计了共享中间层,为数据持久性设计了每个租户一个数据库。也就是说,业务层将与每个租户的数据库服务器建立一组连接(连接池)。这意味着应用程序为每个租户维护单独的连接池。如果我们预计约有5000个租户,那么这个解决方案需要高资源利用率(每个租户的应用服务器和数据库服务器之间的连接),这会导致性能问题。 我们已经通过保持公共连接池解决了这个问

  • 我正试图在spring boot中开发一个REST API,并将React作为前端。React将发送前端发生的GET或POST请求,以通过REST API修改后端的MySQL数据库。在我的应用程序中,用户可以在应用程序中有多个公司,每个公司的数据彼此隔离。我在Spring遇到过多租户。如何实现REST API??如何为这个多租户配置React应用程序??Spring的反应核心有用吗??。任何我能找