Auf meiner Forschungsreise durchs Java-Land habe ich jetzt die Anwendung von Hibernate gelernt. Es handelt sich dabei um ein Persistence framework, also um eine Softwareschicht zur dauerhaften Datenspeicherung in Datenbanken. Das Tolle an Hibernate ist, wie die Zugriffe auf die Datenbank gekapselt werden.Zunächst programmiert man einfache Javabeans (auch POJO(Plain Old Java Object) genannt), also gewöhnliche Klassen mit privaten Attributen und entsprechenden Setter- und Getter-Methoden. Zum Speichern eines Objekts übergibt man dieses einfach an eine Hibernate-Session, die für die entsprechende Datenbank konfiguriert ist. Auch das Lesen von Daten erfolgt nicht durch SQL-Abfragen, sondern durch Methodenaufrufe der POJOs oder der Hibernate-Session.
Und woher weiss Hibernate, welche Tabellen und Spalten den Objektattributen zugeordnet sind? Aus einfachen XML-Dateien, die diese Abbildung beschreiben. Ein Beispiel: Objekte der Klasse Person
kommen in die Tabelle PERSON
, wobei die Attribute firstname
und lastname
in die gleichnamigen Spalten der Tabelle geschrieben werden sollen. Zusätzlich gibt es einen Primärschlüssel PERSON_ID
, der automatisch erzeugt werden und dem Attribut id
zugeordnet sein soll:
Das wars schon. Und richtig cool wird es, wenn man diese Mappingdateien gar nicht von Hand pflegt, sondern durch Xdoclet automatisch aus Kommentar-Attributen der Javaklasse erzeugen lässt. So kann man sich voll auf die Geschäftslogik seiner Klassen konzentrieren, anstatt sich mit SQL rumzuschlagen.