Диспетчер объектов сборки JPA с определенным экземпляром соединения JDBC - PullRequest
0 голосов
/ 11 мая 2010

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

1 Ответ

1 голос
/ 11 мая 2010

В любом случае ответ заключается в том, что вы не можете, в SE вы можете указать свойства соединения db при создании EntityManagerFactory, но соединение db все еще поддерживается EntityManager, и по уважительной причине, если вы управляете этим, вы можете зафиксировать и откат за спиной EntityManager. Если бы вы дали одно и то же соединение с БД нескольким EntityManager, это действительно было бы хаосом, я не уверен, с какой стати вы хотите это сделать.

Лучшее, что я могу предложить, - это посмотреть методы EntityManager.getDelegate () (JPA 1.0) или EntityManager.unwrap (java.lang.Class cls) (JPA 2.0), которые могут возвращать базовый поставщик (т. Е. Hibernate). ) объект, из которого вы можете вырвать соединение с базой данных, но вы наверняка не сможете его заменить.

Короче очень плохая идея.

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