Wir entwickeln eine Multi-Tenant-Anwendung mit einem separaten Schema pro Mandant.
Wir verwenden ein SessionFactory
pro Schema, was ohne die Verwendung von OpenSessionInViewFilter
gut funktioniert.
Wir möchten den Spring TransactionManager
zusammen mit OpenSessionInViewFilter
verwenden.
Wir konnten einige Referenzen finden, um OpenSessionInViewFilter
anzupassen, um mit mehreren SessionFactories
umzugehen (durch Überschreiben der Methode lookupSessionFactory
), aber es funktioniert nicht für uns, da wir diesen Filter von unseren DAOs aus referenzieren müssen.
Daher haben wir geplant, OpenSessionInViewInterceptor
zu verwenden, auf den von anderen Spring-Beans (DAOs) zugegriffen werden kann, aber wir finden keinen Weg, es anzupassen, um nach SessionFactory
basierend auf der TenantId zu suchen.
Wir verwenden Hibernate 3.2.5 und Spring-2.5.6