Mit ORM würde ich nicht viel machen, denn ich vertraue der Performance nicht. Je weiter hinten (Backend) ich programmiere, desto mehr Kontrolle möchte ich haben. Und das habe ich bei einem ORM nicht.
Das deckt sich auch mit meinen Erfahrungen. Eine simple
DB-Anwendung mit einem ORM (komplexe sind damit sowieso nur selten brauchbar abzubilden) funktionierte auf einer lokalen (im lokalen Netz) Datenbank noch ganz performant, ging aber ungalublich in die Knie, als es über das Internet ging. Nach der Umstellung auf direkten
DB-Zugriff konnte ich das Laden einer überschaubaren Liste von Datensätzen von 20 Minuten auf 0.5 Sekunden herunterschrauben. Mag an dem spezifischen ORM gelegen haben, aber sowas prägt.
Ich dachte auch die Hauptvorteile von einem ORM ist der das der aktuelle Programmstatus in der
DB eingefroren ist wenn ich den Stecker ziehe und das ich keine Datenbankreoganisationen brauche wenn ich die Datenstrukturen ändere. Also hilft es vor allem, wenn ich beim Kunden Entwickle und keine langen Ausfälle wegen Datenbankreorganisationen verschwenden will. Da aber kaum ein Kunde auf Dauer täglich mit neuen Anforderungen ankommt die sich auf die Datenstruktur auswirken. Und die meisten Hardware Systeme fallen auch nicht einfach so aus. Deswegen halte ich von ORM auch nicht sooo viel.