Как я могу получить доступ к диспетчеру сущностей без указания имени модуля в @PersistenceContext? - PullRequest
0 голосов
/ 18 марта 2020

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

@PersistenceContext(unitName="PU1")
protected transient EntityManager entityManager;

Мне было интересно, есть ли способ получить доступ к единице сохранения по умолчанию.

@PersistenceContext
protected transient EntityManager entityManager;

Я хочу, чтобы этот менеджер сущностей выбрал мой постоянный модуль "PU1" по умолчанию.

При определении моего PersistenceUnitManager я определил defaultDataSource для того, который мне нужен, но это не помогло.

Любые предложения будут с благодарностью.

Спасибо.

1 Ответ

0 голосов
/ 23 марта 2020

JPA не знает, какую единицу сохраняемости использовать, попробуйте создать постоянство. xml для каждой единицы постоянства и выберите, какую из них использовать в контексте приложения, попробуйте следующее:

<bean id="persistenceUnitManager"
    class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
    <property name="persistenceXmlLocations">
        <list>
            <value>classpath*:META-INF/persistencePU1.xml</value>
        </list>
    </property>
</bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...