#jpa #jta #entitymanager
#jpa #jta #entitymanager
Вопрос:
У меня есть несколько баз данных с одинаковой структурой таблиц, каждая из которых предназначена для разных языков. Я использую JPA с типом транзакции JTA. Я хотел бы динамически создавать новое подключение к базе данных (с уровня приложения), когда я добавляю новый язык (новая база данных). Я знаю, как создать новый entity manager, но только для типа RESOURCES_LOCAL transaciton. Возможно ли это с JTA?
Ответ №1:
Я думаю, что у вас есть недостаток дизайна, из-за которого все выглядит сложнее, чем есть на самом деле. Если у вас есть выбор, лучшее, что можно сделать, хотя это требует некоторой работы, — это интернационализировать вашу базу данных. Вкратце, добавьте столбец «язык», где это уместно, и просто создайте одну базу данных со всем. Когда вы выбираете интересующие вас биты для одного языка, просто добавьте это языковое ограничение в ваше предложение where.
То, что вы просите, было бы довольно сложно реализовать и поддерживать.
Комментарии:
1. привет, спасибо за ваш ответ. Я знаю, что дизайн этого приложения сложный, но оно уже существует. У меня нет разрешения изменять его, поэтому я в любом случае должен найти способ решить эту проблему.
2. вы могли бы смоделировать лучший дизайн с помощью представлений. Я бы сделал все, что в моих силах, чтобы изменить дизайн 😉