Динамическое добавление баз для Hibernate

Рейтинг: 1Ответов: 1Опубликовано: 03.04.2015

Всем привет) Извините за мой русский и возможно глупый вопрос...

Подскажите пожалуйста как можно решить следующею проблему, или какие варианты вообще есть в таком случае.

Есть веб приложение построенное на сервлетах с использованием Hibernate(пока что есть возможность изменить его код и передєплоить). На данный момент программно вшито использование только 3-х баз данных(по структуре они идентичны ), разница только в их расположении и в наполнении, и для каждой из баз есть свои файлы hibernate-xxx.cfg.xml и hibernate-xxx.reveng.xml.


Например, когда сервлет принимает запрос с параметром "base=1", это означает что нужно произвести запись в базу "1" и т.д.. Этот вариант хорош при статичном количестве баз, а если базы будут добавляться - тут я в ступоре.


Идеи решения есть разные: от создание отдельной базы где будут сохраняться дополнительные hibernate-xxx.cfg.xml и hibernate-xxx.reveng.xml и сделать дополнительный запрос на их существование как проверку с последующей загрузкой при каждой новой сессией, к постоянному редеплоингу проекта при добавлении новых баз данных(этот вариант вообще не вариант :( ). Динамическое создание hibernate-xxx.cfg.xml и hibernate-xxx.reveng.xml файлов в файловой системе не проходит - нету доступа, из-за настроек среды. Использую glassfish как веб контейнер.


Подскажите, может есть другие механизмы для обхода этой ситуации?

Если некорректно изложил вопрос - буду благодарен за замечание.

Ответы

Ответов пока нет.