JPA

JPA

Die Java Persistence API (auch JPA) ist eine Schnittstelle für Java-Anwendungen, die die Zuordnung und die Übertragung von Objekten zu Datenbankeinträgen vereinfacht. Sie vereinfacht die Lösung des Problems, Laufzeit-Objekte einer Java-Anwendung über eine einzelne Sitzung hinaus zu speichern (Persistenz), wobei relationale Datenbanken eingesetzt werden können, die ursprünglich nicht für objektorientierte Datenstrukturen vorgesehen sind.

Die Java Persistence API wurde als Projekt der JSR 220 Expert Group entwickelt und im Mai 2006 erstmals veröffentlicht.

Inhaltsverzeichnis

Konzeption

Neben der API, welche im Package javax.persistence definiert ist, besteht die Java Persistence aus folgenden Komponenten:

Persistence Entity

Eine Persistence Entity ist eine einfache Java-Klasse, die üblicherweise eine einzelne Tabelle in der relationalen Datenbank abbildet. Instanzen dieser Klasse entsprechen hierbei den Zeilen der Tabelle.

Objektrelationale Metadaten

Die Beziehungen zwischen den einzelnen Tabellen werden über objektrelationale Metadaten ausgedrückt. Diese sind entweder als Java-Annotationen angelegt, oder in einer separaten XML-Datei abgelegt.

Die Java Persistence Query Language

Die Java Persistence Query Language (JPQL) wird genutzt, um Abfragen bezüglich der in der Datenbank gespeicherten Entitäten durchzuführen. Diese Abfragen ähneln syntaktisch SQL-Abfragen, beziehen sich aber auf Entitäten statt auf Datenbanktabellen.

Java Persistence im Kontext

Viele Javaentwickler benutzten bereits zuvor Open-Source-Frameworks, da sich die in der Spezifikation Enterprise JavaBeans 2.1 definierten Entity Beans durch ihren hohen Ressourcenverbrauch, ihre Komplexität, sowie die Notwendigkeit, auf einem Java-EE-Anwendungsserver zu laufen, als zu aufwändig herausgestellt haben. Viele Eigenschaften der bereits etablierten Open-Source-Frameworks flossen in die Entwicklung der Java Persistence API ein. Hibernate und Oracle TopLink bilden nun Implementierungen der Java Persistence API.

Java Persistence wurde als Teil der Spezifikation Enterprise JavaBeans 3.0 definiert und stellt somit einen Nachfolger der Entity Beans dar. Obwohl die EJB-3.0-Spezifikation ein Teil der Java-EE-5-Plattform ist, wird für die Verwendung kein EJB-Container oder ein entsprechender Java-EE-Anwendungsserver benötigt. Künftige Versionen sollen daher als separater Java Community Process außerhalb der EJB-Spezifikation definiert werden.

Die Java Persistence API wurde für die relationale Persistenz relativ einfacher Objekte entwickelt. Im Vergleich dazu eignet sich die Service Data Object (SDO) API hauptsächlich für die Abbildung komplexer Daten auf verschiedene Formate und Programmiersprachen für die Verwendung in Serviceorientierten Architekturen – beide Konzepte ergänzen sich also.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • JPA — may refer to: * Java Persistence API * Jewish Palestinian Aramaic * Joint Powers Authority * Joint Personnel Administration * Juan Pablo Ángel A Colombian footballer currently playing for New York Red Bulls, in the Major League Soccer|MLS. * John …   Wikipedia

  • JPA — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom.   Sigles d’une seule lettre   Sigles de deux lettres > Sigles de trois lettres   Sigles de quatre lettres …   Wikipédia en Français

  • JPA — noun Java Persistence API …   Wiktionary

  • JPA — Joint Powers Authority (Governmental » US Government) * Joint Powers Agency (Governmental » United Nations) * Joint Program Assessment (Governmental » Military) * Small Business Job Protection Act of 1996 (Community » Law) * Small Business Job… …   Abbreviations dictionary

  • JPA — juvenile pilocytic astrocytoma …   Medical dictionary

  • JPA — • Jump when Pizza Arrives (aus The REAL Canonical List of Forgotten Assembly Language Commands : ) • Joao Pessoa, Brazil internationale Flughafen Kennung …   Acronyms

  • jpa — ISO 639 3 Code of Language ISO 639 2/B Code : ISO 639 2/T Code : ISO 639 1 Code : Scope : Individual Language Type : Historical Language Name : Jewish Palestinian Aramaic …   Names of Languages ISO 639-3

  • JPA — [1] Jump when Pizza Arrives (aus The REAL Canonical List of Forgotten Assembly Language Commands : ) [2] Joao Pessoa, Brazil internationale Fughafen Kennung …   Acronyms von A bis Z

  • JPA — Job Package Authorization Contributor: GSFC …   NASA Acronyms

  • JPA —   Joint Powers Authority …   Energy terms

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”