Home

ORMImplementierungen

ORMImplementierungen sind Softwarekomponenten, die Objektorientierung mit relationalen Datenbanken verbinden. Sie übersetzen Operationen an Objekten in relationale SQL-Anweisungen und ermöglichen das Speichern, Abrufen und Ändern von Daten über Objekte statt über direkte SQL-Abfragen.

Gängig sind zwei Entwurfsmuster: Active Record, bei dem Objekte sowohl Daten als auch Persistenzlogik enthalten, und

Kernfunktionen umfassen das Mapping von Objekthierarchien auf Tabellen, das Abbilden von Beziehungen, Change Tracking, Lazy Loading,

Zu bekannten Beispielen zählen Hibernate (Java), Entity Framework (C#/.NET), Doctrine (PHP), SQLAlchemy und Django ORM (Python,

Vorteile sind Produktivität, Konsistenz der Persistenzlogik und einfachere Wartung. Nachteile umfassen Laufzeit-Overhead, Lernkurve, potenzielle Abhängigkeit von

Data
Mapper,
der
Objekte
von
der
Persistenzschicht
trennt
und
eine
Mapper-Schicht
verwendet.
Oft
ergänzen
sich
Muster
wie
Unit
of
Work
und
Identity
Map
zur
Koordination
von
Transaktionen
und
zum
Caching.
Transaktionsverwaltung
und
Migrationen.
Moderne
Implementierungen
bieten
auch
Abfrageübersetzung
(Object-Query
zu
SQL)
sowie
Caching
und
Optimierung
der
Abfragen.
Viele
ORM-Lösungen
unterstützen
außerdem
Schema-Management-Tools
und
Entwicklerproduktivität
durch
convention
over
configuration.
wobei
Django
ORM
stark
integriert
ist),
ActiveRecord
(Ruby
on
Rails)
sowie
TypeORM
und
Sequelize
(JavaScript/TypeScript).
Neben
vollwertigen
ORMs
existieren
Micro-ORMs
wie
Dapper,
die
weniger
Abstraktion,
aber
mehr
Kontrolle
über
SQL
bieten.
der
ORM-Implementierung
sowie
Performanceprobleme
wie
N+1-Abfragen.
In
komplexen,
performancekritischen
Szenarien
oder
bei
feingranulierten
SQL-Anforderungen
kommen
oft
direkte
SQL-
oder
maßgeschneiderte
Mapper-Lösungen
zum
Einsatz.