#
Archive for März 8th, 2007

Was besonders an Hibernate ist

Hibernate erlebt einen recht großen Hype und ist auch in aller Munde. Aber was ist so besonders an Hibernate?
Ich habe mal eine Reflektion dessen gemacht und denke folgendes dazu:

Ein Punkt ist, dass man Hibernate einfach über XML konfigurieren kann. Meiner Meinung nach ist dies Trivial. Jeder Java Anfänger kann seine Konfigurationen in XML auslagern.

Ein weiterer Punkt ist die flexible Austauschbarkeit einer speziellen Datenbank. Sicherlich ein wichtiger Punkt, aber selbst dass ist meiner Meinung nach nicht das besondere. Schließlich könnte man das durch eine Absraktionsschicht auf JDBC realisieren.

Der wichtigste Punkt ist meiner Meinung nach das Arbeiten mit POJOs. Ich habe schon mit Frameworks gearbeitet, die Persistenzen bieten, aber nur zum Preis einer Erbhierarchie. Man mußte EJB 2 like alle seine Objekte von einer Basisklasse erben. Very ugly.
In Hibernate kümmert das nicht. Ich schreibe mein Programm, als gäbe es kein Hibernate. Hibernate erstellt Proxyklassen, die alles kapseln, macht Kodeinjektion und sorgt dafür, dass alles in Ordnung ist.
DAS sind die Frameworks der Zukunft.

Update: Im übrigen ist Hibernate damit sehr Pattern-Konform, da das Proxy-Pattern Bestandteil der GoF Muster ist. Hingegen ist eine EJB2-artige Erbhierarchie ein Antipattern.

Entsprechend denke ich, dass es nicht sonderlich viel Sinn macht, in einem (dem) alten Framework, wo strenge Erbhierarchien vorgegeben sind, bei der man von einer Basisklasse erben muss, auf Hibernate umzuschwenken. Die Zeit kann man sich sparen oder das ganze Framework auf Hibernate und Spring aufbauend neu schreiben. Wäre sicherlich effektiver.