2013-02-14 275 views
4

休眠4.1.1多租戶CurrentTenantIdentifierResolver方法,任何示例。我關心的是當我們切換模式/租戶時,休眠緩存將如何更新。休眠4.1.1多租戶CurrentTenantIdentifierResolver方法,任何示例

任何幫助將不勝感激。

+0

您可能還想考慮更新到可用的最新Hibernate版本。他在4.1。{1-4}版本中存在問題,其中Hibernate不尊重CurrentTenantIdentifierResolver值。我[與這個問題仍然存在](http://stackoverflow.com/questions/14837601/multi-tenancy-with-spring-hibernate-sessionfactory-configured-for-multi-tena)與Spring + Hibernate 4.1.9 。 – Craige 2013-02-24 20:12:45

回答

4

作爲每Hibernate documentation on multi-tenancy

16.3.3。緩存

Hibernate中的多租戶支持可以與Hibernate二級緩存無縫協作。用於緩存數據的密鑰對租戶標識符進行編碼。

這基本上意味着代替Hibernate使用實體的UID,它使用由CurrentTenantIdentifierResolver.resolveCurrentTenantIdentifier()返回的標識符加上實體UID。這意味着緩存中的每個實體對其模式都是唯一的。