Как прозрачно подключиться к различным базам данных (разработка/тест/производство) с помощью hibernate

У меня есть несколько разных баз данных для разных сред, к которым подключается мое приложение. Они постоянны для каждой установки, но различаются между собой. Другими словами, есть

  1. Среда разработки, которая подключается к базе данных разработки
  2. Тестовая среда, которая подключается к тестовой базе данных и, наконец,
  3. Производственная среда с собственной базой данных

Hibernate используется через Annotations, и код не "знает", в какой среде он запущен. Все базы данных управляются mySQL, но отличаются url, именем пользователя и паролем.

В настоящее время я удалил hibernate.cfg.xml из приложения и переместил его в домашний каталог пользователя сервера-приложения, но это кажется не очень хорошим решением по соображениям безопасности и потому, что это ввело необходимость вручную обновлять все измененные связки при обновлении среды.

Я очень надеюсь, что есть лучшее решение, но я не могу его найти.

5
задан Nicktar 12 October 2011 в 10:22
поделиться