News

 

27.08.2010

Holger Koschek hat im Business Technology Magazin einen Artikel über Storytelling veröffentlicht. mehr…

10.08.2010

Oliver Ochs und Jochen Jörg haben im JavaMagazin eine dreiteilige Artikelreihe über Google Wave veröffentlicht.

13.07.2010

Die Gewinner des Holisticon-WM-Tippspiels 2010 spenden den erspielten Gesamtbetrag der Sternenbrücke, einem Hamburger Kinder-Hospiz. Die Sternenbrücke begleitet Familien und ihre kranken Kinder auf deren letztem Stück des Lebensweges. Diese wichtige Unterstützung liegt uns seit Jahren am Herzen. Mit unserem Engagement möchten wir einen kleinen Teil dazu beitragen. Herzlichen Glückwunsch den glücklichen Siegern und vielen Dank für die Spende!

16.05.2010

Holisticon ist auch in diesem Jahr wieder Roundtable-Sponsor der Seacon in Hamburg. mehr…

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


E     nach oben
Eager Load Bezeichnet eine Fetching-Strategie der Java Persistence API. Einfach gesagt bedeutet Eager Load, dass die Daten einer Persistent Entity sofort vollständig aus der Datenbank gelesen und in die entsprechenden Attribute einer Instanz geschrieben werden. Alle anderen innerhalb der Instanz/des Objektes referenzierten persistenten Objekte (Objektnetze/Objektbäume) werden ebenfalls sofort instanziiert und vollständig geladen.

Bei größeren Objektnetzen oder Objektbäumen kann dieser Ansatz in Verbindung mit einer großen Datenmenge schnell zu langen Ladezeiten und hohem Speicherverbrauch durch eine entsprechende Anzahl an gefüllten Objekten führen.

Die Eager Load Fetching-Strategie ist die Standardstrategie, die von der Persistence Provider Runtime angewendet wird, falls keine andere explizite Angabe gemacht wird. Die mögliche Alternative ist Lazy Load.

Embeddable Object Innerhalb einer Persistent Entity können Klassen, die ihrerseits nicht als Persistent Entities gekennzeichnet sind und somit keine eigene persistente Identität haben, in Form von Attributen eingebettet werden. Diese eingebetteten Objekte werden als Embeddable Objects bezeichnet. Gefüllt werden die Attribute aus den Spalten der Tabellen, mit denen die Persistent Entity assoziiert sind.

Es handelt sich hierbei beispielsweise um das Mappen einer Tabelle auf eine Persistent Entity und darin eingebetteter weiterer POJOs (einfacher Java-Klassen), um eine denormalisierte Tabelle auf ein Objektnetz zu projizieren.

Persistent Entity mit dem Mapping auf ein Embeddable Object

 @Entity 
 @Table(name = “KUNDE”) 
 public class Kunde
        implements java.io.Serializable { 
   private int id;
   private Adresse adresse;
   private String name; 
   private String vorname; 

   public Kunde(String name, String vorname,
       String strasse, String stadt) { 
     this.adresse =
         new Adresse(strasse, stadt); 
     this.name= name; 
     this.vorname = vorname; 
   } 
   … 

   @Embedded 
   @AttributeOverrides({ 
     @AttributeOverride(name = “strasse”,
       column = @Column(name = “STRASSE”)), 
     @AttributeOverride(name = “stadt”,
       column = @Column(name = “STADT”)) }) 
   public Adresse getAdresse() { 
     return adresse; 
   } 

   public void setAdresse(
       Adresse adresse) { 
     this.adresse = adresse; 
   } 

   @Column(name = “NAME”) 
   public String getName() { 
     return name; 
   } 

   public void setName(String name) { 
     this.name = name; 
   } 
   …

Embeddable Object

 @Embeddable
 public class Adresse
     implements java.io.Serializable {
   private String strasse;
   private String stadt;
   …
 }
Entity Manager Hierbei handelt es sich (analog zu Ansätzen aus JDO und Hibernate) um den zentralen Persistenz-Manager. Der EntityManager ist dafür zuständig, die gesamte Persistenzabbildung von persistenten Entitäten zur Verfügung zu stellen. Er kümmert sich um das persistente Neuanlegen von Entitäten in Datenbanken, das Laden, Speichern, Löschen und Suchen.


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