Я пишу веб-приложение, которое поддерживает несколько пользователей. Каждый пользователь имеет свою собственную базу данных - используя H2. все схемы баз данных одинаковы.
Я хочу использовать Spring + Hibernate для этого приложения.
Итак, я застрял в том, как связать пользовательскую базу данных с этим пользователем - возможно, связал ее с HTTPSession и расширил Spring AbstractRoutingDataSource? но не будет ли этот эффект кэшем Hibernate? Другой способ - иметь SessionFactory с каждым источником данных, хотя каждая схема источника данных одинакова... поэтому я вижу это как отходы.
В любом случае выбор источника данных должен быть динамическим - они не могут быть предварительно настроены в файлах контекста, так как каждый новый пользователь будет иметь свою собственную базу данных. Существуют ли существующие рамки/решения?
Я не слишком много знаю о Hibernate Shards, возможно, это работает?