2013-12-17 85 views
5

我一直在閱讀hibernate中的多租戶和從stackoverflow發表的幾篇文章,但似乎他們沒有解決我擁有的需求,所以在這裏。我正在開發一個基於SAAS的應用程序模型,其中我有一個應用程序由多個客戶提供服務,並且每個客戶都會有一個獨立的租戶數據庫實例(postgresSql)。除此之外,我還擁有一個主數據庫,用於驗證用戶身份並確定它屬於哪個租戶數據庫,請考慮此主數據庫將具有諸如租戶數據庫的連接URL之類的信息。根據用戶登錄使用Hibernate和Spring連接到租戶數據庫

當用戶登錄時,我將使用master數據庫進行身份驗證,獲取租戶數據庫信息(如連接URL)並連接到該數據庫並通過該數據庫提供所有用戶請求。

考慮到我可以在hibernate配置文件中定義多個sessionfactories,這將在應用程序開發過程中使其變爲靜態,相反,我想通過讀取動態地爲用戶所屬的相應租戶數據庫創建sessionfactories來自主數據庫的連接URL的信息。

此外,還將有一個場景,我將不得不維護master數據庫和租戶數據庫的sessionfactory,因爲將有一個要求,我將不得不將用戶添加到主數據庫和租戶數據庫用戶創建。

任何一個人都可以解決這個需求嗎?

回答

1

我會定義兩個sessionfactory,一個用於主數據庫,另一個用於以假值開始的其他數據庫。 this可以幫助您如何在運行時更改數據源。

最後threadlocal可以幫助你在調用之間存儲數據。

希望它有幫助。

相關問題