Databases Reference
In-Depth Information
Tabelle 19.1: Die Tabelle alben enthält Beispieldaten
id
nr
titel
jahr
preis
seq
1
1
Der Kolumbusfalter
1967
2.50
0
1
6
Micky-Parade
1968
2.80
1
1
23
Ritter Donald ist der Beste
1973
3.50
2
1
16
Donald in 1000 und einer Nacht
1971
3.00
3
Hibernate-Adaption namens NHibernate 9 oder die Microsoft-eigenen Mapper
LINQ to SQL und ADO.NET Entity Framework.
Gerade in komplexen Anwendungen geht die Arbeit mit OR-Mappern alles an-
dere als automatisch von der Hand. Für einfache Objektmodelle sind Werkzeuge
wie Hibernate dagegen oft überdimensioniert: Wenn man sich nicht intensiv in ih-
re Funktionalität einarbeitet, wird man immer wieder überrascht. Hibernate etwa
verfügt über einen eigenen Cache, der Datensätze verwaltet, die bereits eingelesen
wurden. Änderungen werden zunächst nur im Cache vorgenommen. Wenn wir
also zur Laufzeit unseres Programms mit einem SQL-Frontend Daten aus der Da-
tenbank lesen, weicht der Zustand möglicherweise gravierend vom Datenbestand
des Programms ab.
Hinweis
OR-Mapper sind komplexe Werkzeuge. Für einfache Objektmodelle
ist der Einarbeitungsaufwand oft nicht angemessen. Erwägen Sie, das
OR-Mapping in diesem Fall selbst zu implementieren.
Eine einfaches Mapping, bei dem wir jeder Klasse eine Tabelle zuordnen, haben
wir uns bereits in Abschnitt 19.1 erarbeitet. Objekte lassen sich diesem Mapping
entsprechend als Active Records 10 abbilden. Dazu reichern wir sie neben den
Methoden zu Anwendungslogik um die parameterfreien Methoden insert() ,
update() , delete() , sowie um statische Methoden wie findByName oder
findById an, die den Datenbankzugriff kapseln.
Produkte wie Hibernate können - trotz ihrer imposanten Fähigkeiten - den Im-
pedance Mismatch zwischen der objektorientierten und der relationalen Welt bes-
tenfalls überbrücken, aber keinesfalls auflösen. In Kapitel 21 sehen wir, dass eine
Auflösung möglich ist, wenn wir bereit sind, uns vom relationalen Paradigma zu
verabschieden.
9 nhforge.org
10 Diese Bezeichnung geht auf Martin Fowler [Fow02] zurück.
 
Search WWH ::




Custom Search