Alternative Schlüssel in JPA

Sobald man sein Java-Objektmodell auf eine relationale Datenbank abbildet, stellt sich die folgende Frage: Wie soll der Primärschlüssel gebildet werden?

Alle JPA-konformen O/R-Mapper unterstützen sowohl künstliche als auch natürliche Primärschlüssel: Künstliche Primärschlüssel werden vom O/R-Mapper beim Persistieren neuer Entität automatisch generiert. Ein künstlicher Primärschlüssel macht lediglich den Datensatz eindeutig und besitzt darüber hinausgehend keine weitere Bedeutung. Ein natürlicher Primärschlüssel ist Bestandteil der Daten. Er hat einen fachlichen Ursprung und muss durch den Fach-Anwender vergeben werden.

Bei der Erstellung des Objektmodell ist für jede Entität die Frage zu beantworten, ob sie einen künstlichen oder einen natürlichen Primärschlüssel erhalten soll. Die Erfahrung lehrt, dass ein künstlicher Schlüssel prinzipiell die bessere Wahl ist. Die Gründe hierfür sind vielfältig:

weiterlesen

Case-Study: ThyssenKrupp Steel Europe AG

EclipseLink LogoWir unterstützten die ThyssenKrupp Steel Europe AG bei der Erstellung eines neuen, einheitlichen Fertigungsleitsystems auf der Basis von Java-EE-5. Unsere Rolle war es, dem Inhouse-Team zum Thema Persistenz/JPA beratend zur Seite zu stehen. Wir unterstützen bei der Technologieauswahl, migrierten die bestehende Persistenztechnologie nach EclipseLink und schufen darauf aufbauend eine tragfähige Persistenzstrategie mit den Schwerpunkten Abfragsprache, Graph-Historisierung, Modell- und Metamodell-Generierung.

Auf der Basis moderner Enterprise-Java-Technologien ist es uns gelungen, ein performantes, hochverfügbares und flexibles Fertigungsleitsystem zu erstellen, welches den heutigen und zukünftigen Ansprüchen für die Auftrags- und Materialversorgung der verschiedenen Aggregate an den Standorten gewachsen ist.

Joachim Kaminski, Projektleiter,
ThyssenKrupp Steel Europe, Duisburg

Das neue Fertigungsleitsystem ging nach zweijähriger Entwicklungszeit bereits am ersten Standort in die Produktion. Ein weiterer Standort ist zwischenzeitlich gefolgt.

Lesen Sie mehr dazu in der gemeinsamen Case-Study: Kosteneinsparung dank einheitlichem Fertigungsleitsystem bei ThyssenKrupp Steel Europe.

Wir möchten hiermit noch einmal allen herzlich danken, die sich an der Erstellung der Case-Study beteiligt haben. Dank gilt auch dem EclipseLink/TopLink-Team in Kanada und dem Oracle TopLink-Support für ihre Unterstützung im Projekt.

Hibernate im Projekteinsatz

Ein neues Projekt beginnt und ich kann endlich einmal etwas auf der grünen Wiese anfangen. Aus dem Java-Universum suche ich mir die aktuellen Versionen meiner Lieblingsframeworks zusammen. Dabei stellt sich mir ein entscheidendes Problem: Ich habe eine relationale Datenbank und reines JDBC ist sicherlich nicht mehr “up to date”. Wenn in anderen Java-Projekten die Themen Persistenz und relationale Datenbank auf den Tisch kommen, dann fallen immer wieder die Begriffe Java Persistence API (JPA) und Hibernate. Die Gründe liegen auf der Hand:

weiterlesen

Neu in EclipseLink

Bei der Konzeption von Anwendungen wird oft gefordert, dass sich die fachliche Modularisierung auch in den Programmstrukturen wiederfinden solle. Im Idealfall entsteht dann ein Datenmodell, welches aus Gruppen von Entity-Klassen besteht, die eine Beziehung nur zu anderen Gruppenmitgliedern eingehen. Existieren aber Anforderungen, die modulübergreifende Abfragen nach sich ziehen, ist man mit JPA Standardmitteln sehr schnell am Ende – meist muss die Modularisierung an dieser Stelle aufgegeben werden.

Um die fachliche Abgrenzung im Datenmodell beibehalten zu können, existiert in Eclipse-Link das Konzept “Query-Key”. …

Lesen Sie den vollständigen Artikel hier:
Download database pro, Ausgabe 1/2011, S. 96 – 97

Dieser Artikel ergänzt den Beitrag “Über JPA hinaus” aus database pro 6/2010 und beleuchtet virtuelle Felder in Abfragen sowie virtuelle Objektmodelle. Beides sind Neuerungen in der EclipseLink-Version 2.1.

 1 2 3 4 Vor