So binden Sie eine Entität an eine bestimmte Persistenzeinheit

8

Ist es in einer Webanwendung, die struts2 ejb hibernate verwendet, möglich, der Anwendung zu sagen, dass sie eine Entity für einen bestimmten Persistenzeinheitennamen in persistence.xml file in der Bereitstellungszeit finden oder erstellen soll?

Ich habe zwei Persistenzeinheiten in persistence.xml und eine Datenquelle (einschließlich zwei "local-tx-dataquelle") XML-Datei unter dem jboss-Knoten.

Um zu klären, ich meine, ich habe es versucht;

%Vor%

und funktioniert nicht .. Dann versuchte dies und etc ..

%Vor%

und ich habe auch diese oben mit dem "UnitName = .." anstelle von "name = .." versucht, aber alles ist für mich gearbeitet ...

[Gelöst]

& lt; .exclude-unlisted-classes & gt; true & lt; ./ exclude-unlisted-classes & gt; hat mein Problem gelöst

    
Javatar 05.08.2010, 14:26
quelle

3 Antworten

9

Update: Aufgrund Ihres Kommentars (dies ist nicht das, was ich von der ursprünglichen Frage verstanden habe), glaube ich nicht, dass Sie eine andere Option haben, als "Discovery" zu deaktivieren und Ihre Entitäten explizit einzutragen ihre jeweilige Persistenzeinheit:

%Vor%

Mir ist keine Syntax auf Entitätsebene bekannt, die es einer Persistenzeinheit zuweist.

Ich bin mir nicht sicher, ob ich verstanden habe, was Sie zu tun versuchen, aber wenn Sie einen Entity Manager für eine bestimmte Persistenzeinheit erhalten möchten, sollten Sie Folgendes tun:

%Vor%

Wenn dies nicht das ist, was Sie wollen, erklären Sie bitte die Frage.

    
Pascal Thivent 05.08.2010, 16:26
quelle
0

Was Sie suchen, ist wahrscheinlich <exclude-unlisted-classes>true</exclude-unlisted-classes> .

Überprüfen Sie die Dokumentation auf jboss.org:

In meiner Konfiguration hatte ich zwei Datenbanken (sagen wir A und B) und ich wollte zwei separate Persistenzeinheiten, wobei eine alle Entitäten enthält, aber eine, während die andere Persistenzeinheit die verbleibende Entität enthält. Meine persistence.xml sieht so aus:

%Vor%

    
Sylwester Gebczyk 13.12.2016 12:38
quelle
-1

@Pascal Thivent

Ich habe nicht versucht, mehrere EntityManager gleichzeitig zu verwenden, aber wenn ich auf das oben erwähnte Problem schaue, kann das helfen, wenn es funktioniert.

@PersistenceContext(unitName="MyPu1") EntityManager em1;

@PersistenceContext(unitName="MyPu2") EntityManager em2;

    
Nayan Wadekar 05.08.2010 18:24
quelle