JPA-Entität - Angabe der Persistenzeinheit?

8

Ich habe ein JavaEE-Projekt, das mehrere Persistenzeinheiten verwendet. Gibt es eine Möglichkeit anzugeben, zu welcher Persistenzeinheit eine bestimmte JPA-Entität gehört? Einige Entitäten befinden sich in einer Datenquelle, andere befinden sich in meiner zweiten Datenquelle. Gibt es eine Möglichkeit, mit Annotationen zwischen den beiden zu unterscheiden?

    
Shadowman 25.04.2013, 00:39
quelle

3 Antworten

7

Um festzulegen, zu welcher persistenten Einheit ein Entity gehört, verwenden Sie die Datei persistence.xml :

%Vor%

Beachten Sie die Verwendung von <exclude-unlisted-classes /> .

    
Kevin 25.04.2013, 02:13
quelle
2

Das @PersistenceUnit sollte auch benutzbar sein (ich habe es aber noch nicht ausprobiert)

z.B.

%Vor%

Aus dem Javadoc ( Ссылка )

  

"Exportiert eine Abhängigkeit von einer EntityManagerFactory und der damit verbundenen EntityManagerFactory   Persistenzeinheit. "

     

EinheitenName             (Optional) Der Name der Persistenzeinheit, wie in der Datei persistence.xml definiert.

    
João Antunes 31.07.2015 16:30
quelle
0

Sie können auch identifizieren, aus welcher persistenten Einheit eine Entität besteht, indem Sie den EntityManager identifizieren, der sie registriert hat.

Eine verwaltete Entität gehört zu einem Persistenzkontext, und ein persistenter Kontext gehört zu einer Persistenzeinheit. Also in diesem Beispiel:

%Vor%

entity1 gehört zu persistence-unit-1 und entity2 zu persistence-unit-2. Es ist nicht so explizit wie die Angabe der & lt; -Klasse & gt; Tags in persistence.xml, aber Sie können dieselben Entity-Klassen in beiden persistenten Einheiten haben und trotzdem unterscheiden, zu welcher Unit jede Entity-Instanz gehört.

    
German 25.04.2013 22:20
quelle