Beim Zugriff auf Daten unter Verwendung von JPA im Bundle wird davon ausgegangen, dass Sie in einem Bundle arbeiten, das als Java™ EE-Modul auf dem Server behandelt wird. Zum Beispiel ein OSGi-Webanwendungsbundle, für das eine JPA-Facette aktiviert ist und das Entitäten und die Logik für den Zugriff auf Daten sowie das Verarbeiten und Anzeigen von Daten mit JPA enthält. Ein weitere Beispiel ist ein Webprojekt, das JPA-Entitäten und die Logik für die Verarbeitung von Daten mit JPA enthält, die in einer OSGi-Anwendung und nicht im Rahmen der EAR-Implementierung publiziert werden.
Sie müssen Ihr OSGi-Bundle konfigurieren und die Datenquellen WebSphere Application Server hinzufügen, bevor Sie auf die JPA-Persistenzeinheiten zugreifen können.
Stellen Sie sicher, dass Ihre JPA-Persistenzdatei Referenzen auf eine JTA-Datenquelle (Java Transaction API) und eine Nicht-JTA-Datenquelle enthält.
In persistence.xml-Dateien für eine OSGi-Anwendung greifen die Elemente jta-data-source und non-jta-data-source mit einer JNDI-Suche (Java Naming and Directory Interface), einer JNDI-Suche in der Service-Registry oder über Blueprint auf die Datenquellen zu.
Wenn die JTA- und Nicht-JTA-Datenquellen nicht in der Datei persistence.xml konfiguriert sind, werden die für den Server konfigurierten JTA- und Nicht-JTA-Standarddatenquellen verwendet. Der Standardwert ist jeweils null. Einige Features für JPA-Entitäten erfordern, dass eine Nicht-JTA-Datenquelle angegeben ist. Dies ist beispielsweise bei der automatischen ID-Generierung für Entitäten der Fall.