Java Persistence API (JPA)

Datenpersistenz ist ein Mittel, mit dem eine Anwendung Informationen in einem nicht flüchtigen Speichersystem persistent speichern und aus diesem abrufen kann. Persistenz ist für Unternehmensanwendungen notwendig, weil diese auf relationale Datenbanken zugreifen müssen. Für diese Umgebung entwickelte Anwendungen müssen die Persistenz eigenständig verwalten oder Lösungen anderer Anbieter für die Datenbankaktualisierungen und für den Abruf von Informationen aus der Datenbank mit Persistenz einsetzen. Java™ Persistence API (JPA) stellt seit der Veröffentlichung der EJB 3.0-Spezifikationen einen Mechanismus für die Verwaltung von Persistenz, objektrelationaler Zuordnung und Funktionen bereit.

Die JPA-Spezifikation definiert die objektrelationale Zuordnung intern und stützt sich nicht auf anbieterspezifische Zuordnungsimplementierungen. JPA basiert auf dem Java-Programmiermodell für Java Enterprise Edition (Java EE)-Umgebungen, kann aber auch für das Testen von Anwendungsfunktionen in einer Java SE-Umgebung eingesetzt werden.

JPA ist eine Vereinfachung des Programmiermodells für Persistenz. Die JPA-Spezifikation definiert die objektrelationale Zuordnung explizit und stützt sich nicht auf anbieterspezifische Zuordnungsimplementierungen. JPA standardisiert die wichtige Aufgabe der objektrelationalen Zuordnung mithilfe von Annotationen oder XML, um Objekte einer oder mehreren Tabellen einer Datenbank zuzuordnen. Die folgenden Optionen stehen für eine weitere Vereinfachung des Programmiermodells für Persistenz zur Verfügung:

JPA kann innerhalb und außerhalb eines Java Enterprise Edition-Containers (Java EE) eingesetzt werden. Wenn Sie JPA in einem Container ausführen, können die Anwendungen den Container für die Verwaltung des Persistenzkontexts verwenden. Falls es keinen Container für die Verwaltung von JPA gibt, muss die Anwendung den Persistenzkontext eigenständig verwalten. Für Container-managed Persistence (CMP) bestimmte Anwendungen ist keine umfangreiche Codeimplementierung für die Persistenzverarbeitung erforderlich, allerdings können diese Anwendungen nicht außerhalb eines Containers verwendet werden. Anwendungen, die ihre Persistenz eigenständig verwalten, können in einer Containerumgebung und in einer Java SE-Umgebung eingesetzt werden.

Java EE-Container, die das EJB 3.x-Programmiermodell unterstützen, müssen eine JPA-Implementierung, die auch als Persistenzprovider bezeichnet wird, unterstützen. Ein JPA-Persistenzprovider verwendet die folgenden Elemente, um die Persistenzverwaltung in einer EJB 3.x-Umgebung zu vereinfachen.

Persistenzeinheit
Definiert ein vollständiges objektrelationales Modell, das Java-Klassen (Entitäten + unterstützende Strukturen) einer relationalen Datenbank zuordnet. Die EntityManagerFactory verwendet diese Daten, um einen Persistenzkontext zu erstellen, der über den EntityManager zugänglich ist.
EntityManagerFactory
Wird verwendet, um einen EntityManager für Datenbankinteraktionen zu erstellen. Diese Funktion wird gewöhnlich vom Anwendungsserver-Container bereitgestellt, aber die EntityManagerFactory ist erforderlich, wenn Sie die von JPA-Anwendungen verwaltete Persistenz verwenden. Eine EntityManagerFactory-Instanz stellt einen Persistenzkontext dar.
Persistenzkontext
Definiert die Gruppe aktiver Instanzen, die momentan von der Anwendung bearbeitet werden. Sie können den Persistenzkontext manuell oder durch Injektion erstellen.
EntityManager
Der Ressourcenmanager, der die aktive Sammlung von Entitätsobjekten verwaltet, die von der Anwendung verwendet werden. Der EntityManager verarbeitet die Datenbankinteraktionen und die Metadaten für objektrelationale Zuordnungen. Eine EntityManager-Instanz stellt einen Persistenzkontext dar. Eine Anwendung in einem Container kann die EntityManager-Instanz durch Injektion in die Anwendung oder durch Suchen der Instanz im Namespace der Java-Komponente abrufen. Wenn die Anwendung ihre Persistenz eigenständig verwaltet, wird die EntityManager-Instanz aus der EntityManagerFactory abgerufen.
Entitätsobjekte
Eine einfache Java-Klasse, die eine Zeile in einer Datenbanktabelle in ihrer einfachsten Form darstellt. Entitätsobjekte können konkrete oder abstrakte Klassen sein. Sie verwalten Status mithilfe von Eigenschaften oder Feldern.

Symbol das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=cwlp_jpa
Dateiname: cwlp_jpa.html