2013-12-17 52 views
5

我一直在阅读hibernate中的多租户和从stackoverflow发表的几篇文章,但似乎他们没有解决我拥有的需求,所以在这里。我正在开发一个基于SAAS的应用程序模型,其中我有一个应用程序由多个客户提供服务,并且每个客户都会有一个独立的租户数据库实例(postgresSql)。除此之外,我还拥有一个主数据库,用于验证用户身份并确定它属于哪个租户数据库,请考虑此主数据库将具有诸如租户数据库的连接URL之类的信息。根据用户登录使用Hibernate和Spring连接到租户数据库

当用户登录时,我将使用master数据库进行身份验证,获取租户数据库信息(如连接URL)并连接到该数据库并通过该数据库提供所有用户请求。

考虑到我可以在hibernate配置文件中定义多个sessionfactories,这将在应用程序开发过程中使其变为静态,相反,我想通过读取动态地为用户所属的相应租户数据库创建sessionfactories来自主数据库的连接URL的信息。

此外,还将有一个场景,我将不得不维护master数据库和租户数据库的sessionfactory,因为将有一个要求,我将不得不将用户添加到主数据库和租户数据库用户创建。

任何一个人都可以解决这个需求吗?

回答

1

我会定义两个sessionfactory,一个用于主数据库,另一个用于以假值开始的其他数据库。 this可以帮助您如何在运行时更改数据源。

最后threadlocal可以帮助你在调用之间存储数据。

希望它有帮助。

相关问题