Object-Relational Mapping

Klingt komisch… ist aber so.

Für die Nicht-Informatiker unter euch: ORM ist – um Peter Glaser auch mal anwenden zu können – “die beste Erfindung seit dem Butterbrot”. Es geht um folgendes: Ich programmiere und arbeite mit Datenobjekten. Jetzt komme ich an einen Punkt, da möchte ich diese Daten irgendwohin ablegen, damit ich sie später wieder lesen kann. Später so wie in “irgendwann später”. Was mache ich jetzt also mit meinen Datenobjekten. Klassisch legt man das dann alles in die Datenbank indem man lustige Anfrage in String-Form an die Datenbank schickt. Da jede Datenbank das – sagen wir mal – ein bisschen anders macht, ertappt man sich plötzlich dabei diese String für unterschiedliche Datenbanken zu schreiben und dann hält man an und überlegt sich “Hey… Das ist irgendwie Schwachsinn…”. Für diesen letzten Gedanken brauchte man in der Informatik Zeit und Einsicht, aber seit ein paar Jahren kennt man ihn und spricht ihn laut aus. Die Antwort auf das Ganze: ORM.

Einem ORM Persistence Manager gibt man nun ein Datenobjekt, ein sog. Mapping-File um zu wissen wo er was ablegen soll und eine Datenbankverbindung. Und das ists… Der wichtige Punkt: Es ist ihm in einem gewissen Rahmen egal, WAS es für eine Datenbank ist.

So und jetzt das was ich eigentlich schreiben wollte:
Ich hatte mir am Freitag so etwa 6-8 Stunden Zeit genommen eine Applikation die ich betreue mit einem Oracle 10 Datenbankserver zum laufen zu bringen. Das klingt wenig, ist aber im Gegenteil viel zu viel Zeit gewesen. Ich habe exakt eine Stunde gebraucht, da ich noch ein wenig was an den Mapping-Files ändern musste, damit es auf Oracle und überall anders läuft. Eine weitere Stunde habe ich dazu benutzt das ganze mit MySQL zum laufen zu bringen. Wohlgemerkt inkl. Testaufwand.

Mit Ausnahme von EJB3 Persistence – was übrigens auch nichts anderes ist – würde ich nichts mehr anderes als ORM benutzen, bis es was besseres gibt. :)

Einen Kommentar schreiben