Databases Reference
In-Depth Information
der zur Klasse Alben gehörenden Tabelle. Bei einer tiefergehenden Schachtelung
gehören dem Join noch weitere Tabellen an. Die Joins können umfangreich und
somit aufwändig in der Verarbeitung durch das RDBMS werden. Es kann auch
passieren, dass wir nur Teile eines Objektes einlesen wollen, aber durch das Ob-
jektgeflecht ein erheblicher Teil des Datenbestandes mit eingelesen wird.
Hinzu kommen noch ganz andere Probleme: Die Vererbung ist eines der Funda-
mente der objektorientierten Programmierung. Wir müssen also davon ausgehen,
dass es zu jeder Klasse eine Basisklasse und mehrere Unterklassen geben kann.
Weil das relationale Modell keine Vererbung unterstützt, müssen wir uns auch
hier behelfen. Die Polymorphie geht mit der Vererbung Hand in Hand, wir müs-
sen daher auch die Möglichkeit polymorpher Abfragen berücksichtigen.
Die Liste der Fußangeln beim OR-Mapping ließe sich noch fortsetzen, doch ha-
ben wir bereits einen ersten Einblick bekommen. Bemerkenswert ist, dass es trotz
zahlreicher Probleme ausgereifte Werkzeuge, so genannte OR-Mapper , gibt, die
uns beim OR-Mapping unterstützen. Da sich der Prozess nicht vollständig auto-
matisiert durchführen lässt, müssen wir dem OR-Mapper einige Hinweise und
Richtlinien etwa in Form einer Konfigurationsdatei mitgeben, damit das Werk-
zeug die Datenbank und die Klassen erzeugen kann, die für den Datenbankzu-
griff nötig sind. Wir arbeiten dann auf einer höheren Abstraktionsebene und sind
von der Aufgabe befreit, JDBC-Code zu schreiben.
In diesem Kapitel erarbeiten wir uns die grundsätzliche Vorgehensweise beim
OR-Mapping mit dem auf der Java-Plattform sehr weit verbreiteten OR-Mapper
Hibernate. 1 Da Hibernate mittlerweile ein sehr komplexes und mächtiges Werk-
zeug ist, das wesentlich mehr kann als OR-Mapping, verzichten wir auf eine um-
fassende Darstellung. Wir lernen in Form eines Tutorials und anhand konkreter
Beispiele die Arbeit mit Hibernate kennen. Wer mehr zu Hibernate wissen will,
findet in [Bee07] oder in der Produktdokumentation ausführlicheres Material.
19.2
Aufbau einer Entwicklungsumgebung
In diesem Abschnitt bauen wir eine ganze einfache Entwicklungsumgebung für
Java-Anwendungen mit Hibernate auf, die für unsere Zwecke hinreichend ist. In
der professionellen Entwicklung wird mit IDEs wie Eclipse gearbeitet. Anleitun-
gen, um Hibernate in Eclipse zu integrieren, findet man etwa in [Bee07] oder an
vielen Stellen im Internet.
Wir legen als Erstes irgendwo in unserem Dateisystem ein Verzeichnis namens
ormapping und unterhalb davon das Verzeichnis lib an. In dieses Verzeichnis
kopieren wir die jar -Datei aus der H2-Distribution, die das RDBMDS enthält
(siehe auch Abschnitt 18.3).
1
www.hibernate.org
 
 
Search WWH ::




Custom Search