To mohlo být nějakou chybou návrhu, aťto aplikace, nebo frameworku. Každopádně to vůbec neznamená, že nemůžu použít (vhodné!, vlastní ) ORM a abstrakci!
...což je přesně to, co jsem napsal: že přechytřelé ORM frameworky člověka nepozorovaně vedou do pekla.
Význam ORM je v tom, že umožňuje abstrakci ORM rozšířit na aplikaci.
Například si uvědomíte, že vaše aplikace se sestává z dokumentů, pak stačí pomocí ORM namodelovat typickou strukturu dokumentu a dále pracovat jen s ní, kdy dokument je určen jednoznačným klíčem, atributy, popřípadě strukturou položky. Nemá smysl pro každé vypsání libovolného dokumentu psát pokaždé zvláštní způsob získání dat. Pro praktickou aplikaci pak vystačíte z řádově jednotkami abstraktních operací.
Pokud je vaše aplikace vybudována nad stromovými strukturami, či řídkými maticemi. Vytvoříte si obdobu ORM a vytvoříte pár abstraktních operací, které pak použijete. Nebudete přece matice, či stromy procházet pomocí zanořovaných cyklů for.
Samozřejmě za cenu snížení výkonu, ale snadnější a tedy levnější údržby.