【发布时间】:2015-02-06 03:28:57
【问题描述】:
我正在尝试让我的 Web 应用程序为每个用户使用一个 (MySQL) 架构。 我正在使用 Spring 和 JPA 以及 Hibernate。 Hibernate 多租户概念是否相关? 我尝试这样做的方式是
- (a) 每个
HTTPSession和 都有一个 - (b) 在登录时在其中设置架构。
EntityManagerFactory
我已经弄清楚如何做 (b),但我在做 (a) 时仍然遇到问题。
我试过放@Scope(WebApplicationContext.SCOPE_SESSION),但是全局的EntityManagerFactory呢?
有什么帮助吗?
【问题讨论】:
-
您不希望每个会话都有一个
EntityManagerFactory。创建一个需要太多时间,而且它没有任何意义,而且让事情变得非常复杂。你基本上有一个多租户的情况,你应该适当地配置它。使用多租户设置,您只需要一个EntityManagerFactory。 -
您能否详细说明如何正确配置它?请记住,我需要一个连接池,但每个用户需要不同的架构 (HttpSession)。
标签: java spring hibernate jpa multi-tenant