JPA-Glossar
Die Java Persistence API (JPA) wurde im Zuge von EJB 3.0 spezifiziert. Da JPA sowohl im Java-EE- als auch im Java-SE-Umfeld einsetzbar ist, wurde sie in eine eigene Spezifikation ausgegliedert, d.h. Persistenz ist nicht mehr direkter Bestandteil von EJB. Wir haben diesem Umstand mit unserem JPA-Glossar Rechnung getragen. Es entzaubert und erklärt die vielen Fachbegriffe wie Fetching-Strategien, Detached Object, Multi-table Mapping etc. und erklärt, was hinter den Begrifflichkeiten steckt. Lesen Sie auch unser Buch EJB 3 komplett, in dem wir die Themen ausführlich erläutern.
Wenn Sie Begriffe vermissen, die Ihrer Meinung nach erklärt gehören oder falls Sie Fragen haben, mailen Sie uns doch einfach unter
Index
A·B·C·D·E·F·G·H·I·J·K·L·M·N·O·P·Q·R·S·T·U·V·W·X·Y·Z·Alle
| F nach oben | |
| Fetching-Strategie | In der Spezifikation der Java Persistence API sind zwei Fetching-Strategien definiert und aufgeführt: Lazy Load und Eager Load. Im Vergleich zu Hibernate und anderen Persistence Providern wie TopLink sind das noch wenige Optionen. Sowohl aus Zeit- als auch aus Aufwandsgründen sind in der EJB 3.0-Fassung keine weiteren Fetching-Strategien definiert. Eine Detaillierung und Erweiterung der Fetching-Strategien ist voraussichtlich für die kommende Version geplant.
Die Eager Load-Strategie ist innerhalb der Java Persistence API durchweg als Standard voreingestellt. Lazy Load kommt nur dann zur Anwendung, wenn der Entwickler dies explizit angibt. Der Eager Load-Mechanismus ist verpflichtend durch die Hersteller der Persistence Provider Runtimes (z.B. Hibernate) zu implementieren und zur Verfügung zu stellen. Bei Lazy Load ist es zurzeit noch so, dass die Angabe von Lazy Load „lediglich“ als Hinweis für die Persistence Provider Runtime gesehen wird und nicht weiter spezifiziert ist, in welcher konkreten Ausprägung / Umsetzung der Lazy Load-Mechanismus tatsächlich zur Verfügung gestellt und genutzt wird. Momentan sieht es so aus, dass die Umsetzung des Lazy Load-Mechanismus den Herstellern der Persistence Provider Runtimes obliegt und nicht weiter spezifiziert wird. Dies birgt natürlich eine Menge Gefahren wie beispielsweise eine nicht mögliche Gewährleistung der Interoperabilität durch divergierende architektonische und technische Umsetzungen der Hersteller. Wie und wo wird die zu verwendende Fetching-Strategie deklariert? Die Angabe der von der Persistence Provider Runtimes zu verwendenden Fetching-Strategie kann an verschiedenen Elementen im Code erfolgen. Attribute Für jedes persistentes Attribut einer Entität bzw. eines Objektes kann direkt bei den Mapping-Informationen des Attributes die Fetching-Strategie hinterlegt werden. Dazu kann zusätzlich zur Die Angabe der zu verwendenden Fetching-Strategie auf Attributebene ist optional. Wird bei einem persistenten Attribut keine diesbezügliche Angabe vorgenommen, geht die Persistence Provider Runtime von dem Standardverhalten des Eager Loadings Java Persistence QL-Abfragen Innerhalb von Java Persistence QL-Abfragen besteht die Möglichkeit, in der Deklaration von Beziehungen Bei der Deklaration der Beziehung von einer Entität zu einer anderen durch Verwendung einer der Annotationen Die Angabe der zu verwendenden Fetching-Strategie ist optional. Wird das Anzumerken ist, dass diese Informationen auch über die Deployment Deskriptoren angegeben werden können. Als Wertigkeitsregel gilt hier, dass die Deklaration mittels XML im Deployment Deskriptor die Deklaration schlägt, die über Annotationen angegeben worden sind. |
Copyright © 2008–2009 Holisticon AG
Dieses Glossar darf in vollständiger Form und unverändert jederzeit kopiert und kostenlos weitergegeben werden. Der Hinweis auf die Originalquelle http://www.holisticon.de/cms/JPAGlossar/Startseite muss ebenso wie dieser Copyright-Hinweis stets angegeben werden. Es ist nicht zulässig, das Glossar kommerziell zu vertreiben, gegen Entgelt weiterzugeben oder Inhalte zu verändern. Im Rahmen nicht-kommerzieller Verwendungen, beispielsweise Diplomarbeiten, darf das Glossar gerne übernommen werden. Die Verwendung in kommerziellen Zusammenhängen, beispielsweise in öffentlichen oder internen Schulungen, firmeninternen Netzwerken, Publikationen, Produkten etc. ist prinzipiell gestattet, wenn eine entsprechende Meldung an gesendet wird. Die Weitergabe ist sowohl in elektronischer als auch gedruckter Form zulässig. Im Internet zugängliche Kopien sind ebenfalls zu melden.
Hinweis zu den Urhebern der dargestellten Abbildungen: Alle hier wiedergegebenen Grafiken wurden von uns erstellt und sind NICHT von Dritten bezogen!
Nehmen Sie Kontakt mit uns auf!
Ihre Ansprechpartner:
| Stefan M. Heldt | Oliver Ihns |
| Telefon: +49 40 5074 2722 |