我必須實現具有下列要求多租戶使用Spring 3.2.X和EclipseLink/Hibernate?
多租戶Web應用程序單桌多租戶:所有租戶對特定實體的數據將被存儲在一個單一的表TENANT_DISCRIMINATOR(TENANT_ID)爲每列表。
一些表格,例如Master Countries,Masters ...,我希望它對於所有租戶來說都是常見的,即在這些表格中,不會有像TENANT_DISCRIMINATOR(TENANT_ID)這樣的列,但我仍然想要無縫地訪問它。
由於要求或維護原因,我想通過一些管理配置和我的網絡應用程序將已經屬於Single Table Multi-Tenancy一部分的Tenant的數據移動到單獨的數據庫模式,反之亦然,在下一個請求中應該能夠與該更新的模式/數據源進行通信。
現在對於所有租戶的單個表。我已經使用
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean
,並插入一個
org.springframework.jdbc.datasource.DriverManagerDataSource
成。我想在這裏有靈活性,可以讀取一些配置,並幫助我確定同一個表/數據源或一些不同的數據源。
前兩點,我可以用EclipseLink框架來實現。
我的問題是
是否有可能使用的EclipseLink實現3點?
hibernate 3+或4+能幫我實現這些嗎?
任何幫助將不勝感激。
您需要勾勒#3更詳細,如移動數據到另一個表,並具有用戶無縫地訪問它是一個艱難的命題。您對目前訪問舊錶格/應用程序的用戶有何期待? – Chris