Hallo,
Eine Kuh melkt sich nicht selbst. Oder in deinem Kontext: Nicht das Bier braut sich, sondern du tust es.
Oh ja das tue ich, es blubbern seit 3 Wochen im Abstellraum wieder 25 liter vor sich hin.
Eine übliche Vorgehensweise ist, dass Daten enthaltende Objekte von einem Datenkontext überwacht werden und man dem eine Speicherauftrag gibt, woraufhin er sich um das Auslesen der zu speichernden Eigenschaften seiner Schäfchen kümmer und sie speichert.
Ich weiß dass Apples CoreData macht das so allerdings it es kein ORM sondern ein Object Graph Management Framework, die ORMs die ich kenne machen das alle so dass sie die grundlegenden CRUD-Operationen (create, read, update, destroy) direkt am Objekt machen, so weit ich mich erinnere nennt man das Active record pattern und ich finde ihn leicht verständlich und leicht implementierbar, dafür aber nicht so mächtig wie das was du beschreibst.
Ein Nutzer muss nicht wissen, wie er sich zu persistieren hat. Das schafft nur unnötige Abhängigkeiten zwischen dem User und der Datenbank.
Naja zwischen user und datenbank nicht wirklich wenn man es sinnvoll implementiert und die Zugriffe auf die Datenbank der Elternklasse überlässt.
Jeena