JPA - Einführung

Jede Unternehmensanwendung führt Datenbankoperationen durch, indem sie große Datenmengen speichert und abruft. Trotz aller verfügbaren Technologien für das Speichermanagement haben Anwendungsentwickler normalerweise Schwierigkeiten, Datenbankoperationen effizient auszuführen.

Im Allgemeinen verwenden Java-Entwickler viel Code oder verwenden das proprietäre Framework für die Interaktion mit der Datenbank, während sich bei Verwendung von JPA die Belastung für die Interaktion mit der Datenbank erheblich verringert. Es bildet eine Brücke zwischen Objektmodellen (Java-Programm) und relationalen Modellen (Datenbankprogramm).

Nichtübereinstimmungen zwischen relationalen und Objektmodellen

Relationale Objekte werden in einem Tabellenformat dargestellt, während Objektmodelle in einem miteinander verbundenen Diagramm des Objektformats dargestellt werden. Beim Speichern und Abrufen eines Objektmodells aus einer relationalen Datenbank tritt aus folgenden Gründen eine gewisse Nichtübereinstimmung auf:

  • Granularity : Das Objektmodell ist granularer als das relationale Modell.

  • Subtypes : Subtypen (bedeutet Vererbung) werden nicht von allen Arten relationaler Datenbanken unterstützt.

  • Identity : Wie das Objektmodell enthüllt das relationale Modell beim Schreiben von Gleichheit keine Identität.

  • Associations : Relationale Modelle können beim Betrachten eines Objektdomänenmodells nicht mehrere Beziehungen bestimmen.

  • Data navigation : Die Datennavigation zwischen Objekten in einem Objektnetzwerk ist in beiden Modellen unterschiedlich.

Was ist JPA?

Die Java Persistence API ist eine Sammlung von Klassen und Methoden zum dauerhaften Speichern der großen Datenmengen in einer Datenbank, die von der Oracle Corporation bereitgestellt wird.

Wo kann man JPA verwenden?

Um die Belastung durch das Schreiben von Codes für die Verwaltung relationaler Objekte zu verringern, folgt ein Programmierer dem 'JPA Provider'-Framework, das eine einfache Interaktion mit der Datenbankinstanz ermöglicht. Hier wird das erforderliche Framework von JPA übernommen.

JPA-Geschichte

Frühere Versionen von EJB, definierte Persistenzschicht kombiniert mit Geschäftslogikschicht unter Verwendung der Schnittstelle javax.ejb.EntityBean.

  • Bei der Einführung von EJB 3.0 wurde die Persistenzschicht getrennt und als JPA 1.0 (Java Persistence API) angegeben. Die Spezifikationen dieser API wurden zusammen mit den Spezifikationen von JAVA EE5 am 11. Mai 2006 unter Verwendung von JSR 220 veröffentlicht.

  • JPA 2.0 wurde mit den Spezifikationen von JAVA EE6 am 10. Dezember 2009 als Teil von Java Community Process JSR 317 veröffentlicht.

  • JPA 2.1 wurde am 22. April 2013 mit der Spezifikation JAVA EE7 unter Verwendung von JSR 338 veröffentlicht.

JPA-Anbieter

JPA ist eine Open-Source-API. Daher bieten verschiedene Unternehmensanbieter wie Oracle, Redhat, Eclipse usw. neue Produkte an, indem sie ihnen die JPA-Persistenz hinzufügen. Einige dieser Produkte umfassen:

Hibernate, Eclipselink, Toplink, Spring Data JPA, etc.