当前位置: 首页 > 面试题库 >

如何在Hibernate中为多租户配置多个数据源

焦宁
2023-03-14
问题内容

我正在尝试使用此网络研讨会中概述的单独的架构方法向Java应用程序添加多租户

我想知道如何通过spring来配置多个数据源,也许是通过使用属性文件并基于租户id从spring上下文中获取数据源。

更重要的是,尽管我希望能够配置支持此多租户功能的自定义连接提供程序实现,以供Hibernate使用,而不是ConnectionProvider默认使用的注入功能。

我怎样才能做到这一点。


问题答案:

使用AbstractRoutingDataSource



 类似资料:
  • 我正在使用Spring2.x、Spring Data REST、Hibernate5.x、MySQL创建一个服务器REST应用程序。 我按照以下准则配置了多租户:https://dzone.com/articles/spring-boot-hibernate-multitenancy-implementation,唯一的区别是我使用了每个租户一个数据库。 我有一个来创建到DB的连接,还有一个来获取

  • 我试图设置一个配置来管理一个多租户环境,使用sping-start、sping-data-jpa、hibernate和mysql(相同的模式,每个租户表都有一个tenant_code列)。对于依赖项,父maven项目是sping-boo-starter-父(2.1.2.发布)。 在保存实体hibernate抛出此异常:org.hibernate.StaleObjectStateExcture:行被

  • 问题内容: 在Spring 3应用程序中,我试图通过Hibernate 4的本机MultiTenantConnectionProvider和CurrentTenantIdentifierResolver实现多租户。我发现在Hibernate 4.1.3 中存在此问题,但是我正在运行4.1.9并仍收到类似的异常: 以下是相关代码。在I中,我现在只写了一些简单的代码,每次都只返回一个新的连接,并且在这

  • 问题内容: 在Spring 3应用程序中,我试图通过Hibernate 4的本机MultiTenantConnectionProvider和CurrentTenantIdentifierResolver实现多租户。我看到在Hibernate 4.1.3 中存在此问题,但是我正在运行4.1.9并仍然收到类似的异常: 以下是相关代码。在I中,我现在只写了一些哑代码,每次都只返回一个新的连接,并且此时总

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

  • 问题内容: 我正在使用Spring和Hibernate,Spring的配置如下。如何配置两个数据源, session factories。使用注释管理事务。请指教 问题答案: 在Hibernate DAO中,我们可以使用@Qualifier注释,如下所示连接2个会话工厂