Ich beginne, das von dem von mir gewählten Framework empfohlene ORM zu verwenden, und obwohl mir die Idee der zusätzlichen Abstraktionsebene, die das ORM bietet, gefällt, beginne ich zu erkennen, was dies wirklich bedeutet. Es bedeutet, dass ich nicht mehr mit meiner Datenbank (MySQL) arbeite und alle MySQL-spezifischen Funktionen verschwunden sind, als ob sie nicht existieren.
Die Idee des ORM ist, dass es versucht, mir zu helfen, indem es alles datenbankunabhängig macht. Das hört sich toll an, aber oft gibt es einen Grund, warum ich mich für ein bestimmtes Datenbanksystem entscheide. Auf dem Weg der Datenbankunabhängigkeit nimmt der ORM jedoch den kleinsten gemeinsamen Nenner, was bedeutet, dass ich am Ende die kleinsten Funktionen habe (die von allen Datenbanken unterstützt werden).
Was ist, wenn ich weiß, dass ich die zugrunde liegende Datenbank langfristig nicht wechseln werde? Warum nicht auch auf die datenbankspezifischen Funktionen zugreifen?