pureQuery für die Verwendung mehrerer DB2-Paketsammlungen konfigurieren
Konfigurieren Sie eine pureQuery-JPA-Anwendung (Java™ Persistence API), wenn Sie mehrere DB2-Paketsammlungen verwenden möchten.
Informationen zu diesem Vorgang
Es können mehrere Kopien eines Datenbankschemas vorhanden sein. Dies kann bei einem partitionierten Datenbankschema passieren, wenn beispielsweise eine Datenbank für die Daten von Mitarbeitern in Norddeutschland und eine andere Datenbank für die Daten von Mitarbeitern in Süddeutschland verwendet wird. In diesem Fall haben die beiden Datenbank dasselbe Schema. Es kann zwei Datenbanken mit zwei Datenbankkatalogen geben. Es kann auch nur eine einzige Datenbank geben. In diesem Fall muss das übergeordnete Qualifikationsmerkmal der Tabellennamen (Schemaname) verschieden sein. Da die Schemas identisch sind, ist es möglich, einen einzigen Satz von JPA-Entitäten für den Zugriff auf beide Datengruppen zu verwenden. Für solche Situationen stehen mehrere Konfigurationsmethoden für JPA zur Verfügung.
- Wenn zwei Persistenzeinheiten mit unterschiedlichen Datenquellennamen vorhanden sind, die statisches SQL verwenden, sind zwei Gruppen von DB2-Paketen vorhanden: ein DB2-Paket in jeder Datenbank. Da zwei Persistenzeinheiten vorhanden sind, sind auch zwei Dateien Name_der_Persistenzeinheit.pdqxml für die JPA-Laufzeitumgebung vorhanden.
- Auch wenn sich die Tabellen in einer einzigen Datenbank befinden, können zwei Persistenzeinheiten verwendet werden. In diesem Fall ist die Datenquelle in beiden Persistenzeinheiten identisch. Die Werte der Eigenschaft für den Schemanamen, wsjpa.jdbc.Schema, müssen jedoch verschieden sein. Es gibt zwei Gruppen von DB2-Paketen. Jedes DB2-Paket muss einen eindeutigen Paketnamen oder einen anderen Paketsammlungsnamen haben. Der Befehl "wsdb2gen" und der DB2-Befehl "bind" haben Optionen, mit denen der Paketsammlungsname und der Paketname angegeben werden können.
- Sie können eine einzige Persistenzeinheit erstellen. In diesem Fall müssen Sie nicht zwei Persistenzeinheitenkonfigurationen verwalten und den Befehl "wsdbgen" mehrfach ausführen. Diese Konfiguration erfordert einen gemeinsamen Paketnamen. Deshalb müssen die Paketsammlungsnamen verschieden sein. Verwenden Sie die Methode "createEntityManager(Map map)", wobei "map" die Werte für die Eigenschaften wsjpa.jdbc.Schema und wsjpa.jdbc.CollectionId enthält, mit denen der Paketsammlungsname und der Schemaname angegeben werden.