Se me ha dado un requisito en el que necesito admitir varias bases de datos en la misma instancia, para admitir multi-tenancy. Cada DB tiene un esquema idéntico. El usuario inicia sesión en una base de datos específica al elegir de una lista, y todas las llamadas posteriores irán a ese DB hasta que se cierre la sesión.Fábricas de sesión múltiple en Spring/Hibernate
Quiero intercambiar en caliente la fábrica de sesiones dentro de una única HubenateDaoTemplate basada en un parámetro proporcionado por el cliente.
Puedo encontrar muchas cosas en las fuentes de datos intercambiables en caliente (y todos los problemas de transacción asociados con eso), pero quiero cambiar las fábricas de sesión de intercambio - conservando todo el almacenamiento en caché para cada una.
¿Cuál es la forma más fácil de hacer esto? Configurar un HotSwappableTarget para DaoTemplate? ¿Alguien puede señalarme muestras sobre cómo hacer esto?
Buena idea, pero ¿cómo se cambia en la memoria caché de inquilinos? Todo lo que puede hacer es configurar un proveedor de caché, e hibernar lo usa debajo de las coberturas para crear un caché. ¿Tal vez implemente un CacheProvider que a su vez genere un contenedor de caché compatible con el inquilino? – Verdant