Определение динамической конфигурации базы данных с использованием JPA - PullRequest
0 голосов
/ 30 марта 2019

В соответствии со спецификацией JPA обязателен файл persistence.xml с именем единицы сохраняемости, типом транзакции JTA (поскольку я буду использовать его в контейнере Java EE), именем источника данных, идентификатором пользователя и паролем.

Вышеприведенное справедливо как для диспетчера управляемых объектов контейнера, введенного с использованием @PersistenceContext, так и для фабрики диспетчера управляемых объектов приложения, введенной с использованием @PersistenceUnit.

Мой запрос в случае одного экземпляра сервера, обслуживающего несколько баз данных. У меня разные источники данных в зависимости от региона, в котором будет обслуживаться приложение, поэтому я хочу иметь возможность определять источник данных во время выполнения, а не во время компиляции с использованием файла persistence.xml. ,

Я пытался использовать Persistence API для создания фабрики диспетчера сущностей, но этот метод, по-видимому, не требуется для какого-либо контейнера для обеспечения поддержки.

Несмотря на то, что я хотел бы следовать спецификации jee при определении уровня персистентности, этот конкретный элемент возможности обращаться к нескольким источникам данных во время выполнения не выглядит как готовая функция, предоставляемая JPA.

Использование прямой реализации Hibernate У меня есть возможность программно установить необходимый источник данных. Кто-нибудь сталкивался с подобной ситуацией и решил использовать Hibernate или любую другую реализацию для персистентного провайдера, вместо того, чтобы жестко задавать специфические особенности для конкретного файла persistence.xml?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...