2017-11-13 1 views
0

Ich habe eine Anwendung, die viele Datenbanken in verschiedenen geografischen Standorten verwendet. Alle Datenbanken enthalten dieselben Tabellen und nur der Name der Datenbank unterscheidet sich je nach Standort. Ich muss einige Statistik- und Überwachungsdiagramme in meiner Anwendung erstellen, die Daten aus jeder Datenbank verwendet.J2EE - mehrere Datenbankverbindungen für verschiedene Datenbanken in JPA

Was wäre der richtige Weg, um diese Datenbankverbindung von einer Web-Java-Anwendung mit JSF und JPA zu erstellen.

Antwort

2

können Sie mehr Einheiten Persistenz in Ihrer persistence.xml Datei definieren:

<persistence-unit name="pu1" transaction-type="RESOURCE_LOCAL"> 
<properties> 
<property name="javax.persistence.jdbc.url" value=""/> 
<property name="javax.persistence.jdbc.user" value=""/> 
<property name="javax.persistence.jdbc.password" value="/> 
</properties> 
</persistence-unit> 

<persistence-unit name="pu2" transaction-type="RESOURCE_LOCAL"> 
<properties> 
<property name="javax.persistence.jdbc.url" value=""/> 
<property name="javax.persistence.jdbc.user" value=""/> 
<property name="javax.persistence.jdbc.password" value="/> 
</properties> 
</persistence-unit> 

es nun abhängen, wenn Sie die volle Anwendungsserver wie TomEE oder Container (Tomcat) verwenden.

@PersistenceContext(unitName = "pu1") 
private EntityManager em; 

@PersistenceContext(unitName = "pu2") 
private EntityManager em2; 

Ansonsten:

Persistence.createEntityManagerFactory("pu1"); 
Persistence.createEntityManagerFactory("pu2"); 
Verwandte Themen