Hintergrund » Datenbank

MySQL

MySQL Logo

Bei MySQL handelt es sich um ein relationales Datenbank-Managementsystem. Es steht für die meisten Betriebssysteme als Open-Source-Version zur Verfügung und wird oft als Datenbanksystem für Webauftritte verwendet. MySQL hält die Daten, ebenso wie andere relationale Datenbank-Managementsysteme (Oracle, MSSQL) in Tabellen, auf die mit der Abfragesprache SQL zugegriffen wird.

Hibernate

Hibernate Logo

Hibernate (engl. für „Winterschlaf halten“) ist ein objektrelationales Mapping-Framework, kurz ORM. Das Hibernate Framework wurde für die Programmiersprache Java entwickelt und ist mittlerweile auch für andere Sprachen verfügbar. Hibernate ermöglicht den Zugriff über die Objektebene auf eine tabellenorientierte relationale Datenbank. Dies hat den Vorteil, dass Hibernate das Abfragen, Aktualisieren, Löschen und Einfügen von Datensätzen in die Datenbank übernimmt. Dadurch kann sehr viel Entwicklungszeit einge-
spart werden und der Zugriff erfolgt immer auf die gleiche Art und Weise.

Der Nachteil dieses Frameworks ist die verschlechterte Datenbank-Performance und die noch nicht vorhandene Unterstützung von Stored Procedures. Diese genannten Nachteile werden aber durch die Vorteile mehr als ausgeglichen. Für den Einsatz von Hibernate in einer Webanwendung ist es notwendig, dass die Verbindung („Session“) zur Datenbank bei einer Anfrage („Request“) geöffnet wird und erst nach der Antwort („Response“) geschlossen wird. Sonst kann es zu Fehlern („Exceptions“) kommen, die im schlimmsten Fall inkonsistente Daten in der Datenbank zur Folge haben.

Mit dem Hibernate-Framework lässt sich die Drei-Schichten-Architektur, also die Trennung von Datenhaltungsschicht, Geschäftslogikschicht und Präsentationsschicht, sehr elegant umsetzen.

Als Datenspeicher dient der Datenhaltungsschicht die MySQL-Datenbank,
der Zugriff und die Generierung der Objekte erfolgt mit dem Hibernate-Framework. Die Data Access Objects (DAOs) bilden die Schnittstelle zur Geschäftslogikschicht (Enterprise Tier). Das Hibernate-Framework dient als zentrale Schnittstelle zur Datenbank, es wandelt die Objekte in die relationale Struktur der Datenbank um. Das Datenmapping wird über die hibernate.cfg.xml und die einzelnen Mapping-Dateien pro Objektklasse (Dateien mit der Endung *.hbm.xml) gesteuert.