OR-Mapping (ORM)

Objekt Relationale Abbildung

  • Abbildung von objekt-orientierten Strukturen auf Tabellen
    • OOM Modell enthält reichere Strukturierungsmechanismen als relationale Modell
      • Transformation auf struktureller Ebene ist notwendig
    • folgende Konzepte müssen transformiert werden
      • Klassen
      • Komplexe Datentypen
      • Assoziationen
      • Kompositionen
      • Vererbung

Transformation von Klassen

  • Klassen werden zu Tabellen
    • Standard: eine Klasse wird eine Tabelle
    • Alternativ: eine Klasse auf mehrere Tabellen
  • Attribute werden zu Spalten
    • Standardtypen werden aud korrespondierende Typen in der Datenbank abgebildet
    • Komplexe Typen müssen durch programmtechnische Transformation behandelt werden

Transformation von Kompositionen

  • Unterscheidung zwischen Entity-Typen und Wert-Typen
  • Entity-Typen
    • haben eigene Datenbankidentität und Lebenszyklus
    • Existieren unabhängig von anderen Entity-Typen
  • Wert-Typen
    • keine Datenbankidentität
    • Daten werden in Daten der besitzenden Entität eingebettet
    • abhängig von anderen Entity-Typen

Transformation von Vererbung

  • Tabelle für gesamte Klassenhierarchie
    • Vorteile
      • einfache Struktur
      • keine Verbundoperationen notwendig
      • Polymorphe Beziehungen und Abfragen möglich
    • Nachteile
      • Datenkonsistenz schwieriger zu gewährleisten, da Spalten aus abgeleiteten Klassen keine not-null Beschränkung haben können

Bild

  • Eine Tabelle pro Unterklasse
    • Vorteile
      • polymorphe Beziehungen und Abfragen möglich
      • Datenkonsistenz in Bezug auf not-null Spalten bleibt erhalten
    • Nachteile
      • Verbundoperation notwendig

Bild

  • Eine Tabelle pro konkreter Unterklasse
    • Vorteile
      • Datenkonsistenz in Bezug ua font-null spalten bleibt erhalten
      • keine Verbundoperation notwendig
    • Nachteile
      • Polymorphe Beziehung und Abfragen nicht möglich

Bild

JPA - Java Persistance API

Persistenz-Lebenszyklus für Geschäftsobjekte

Bild

Last modified 2023.05.02