У меня есть приложение, использующее сервлеты Java/JSP. Есть несколько клиентов, использующих мое приложение, однако каждый клиент имеет отдельную базу данных. Все базы данных имеют одну и ту же схему. Я хотел бы определить, какое соединение с базой данных использовать в момент входа пользователя в систему.
Например, клиент A регистрируется, я определяю, что клиент A принадлежит базе данных C, захватите соединение для базы данных C и продолжайте мой веселый путь.
Я использую JPA с Hibernate в качестве моего поставщика JPA. Можно ли это сделать с помощью нескольких единиц измерения продолжительности и определить, какой блок использовать во время входа в систему? Есть ли лучший/предпочтительный способ сделать это?
Отредактировано для добавления: Я использую аннотации и EJB, поэтому контекст сохранения задается в EJB с помощью @PersistenceContext (unitName = "blahblah" ), можно ли это определить во время входа в систему? Могу ли я изменить unitName во время выполнения?
Спасибо