Я изучаю JPA и задаю один вопрос:
В каких ситуациях нам нужно более одного EntityManager в нашем приложении?
Две ситуации, о которых я знаю, следующие:
-
Когда наше приложение является многопоточным приложением, и для нескольких потоков требуется транзакция JPA, поскольку
EntityManagerне является потокобезопасной, и нам нужен одинEntityManagerдля каждого потока. -
Если для любого потока требуется несколько параллельных транзакций, нам нужно больше одного
EntityManagerв этом потоке, потому что междуEntityManagerиEntityTransactionсуществует взаимно однозначное отношение.
Q1. Существуют ли другие ситуации, когда нам нужно больше одного EntityManager?
Q2. Понимаю, должно быть только одно EntityManagerFactory за группу перманентности. Я прав? Если нет, то каковы эти ситуации, когда нам нужно несколько EntityManagerFactory для каждой единицы существования?