Další komplikace jsou pak sémantického rázu, zmíněná db4objects používá kvůli efektivitě proxy objekty, jejichž parametry se musí konfigurovat atd. Celkově tehdy (před 10-15 lety) to byl dost vopruz, proto OODB zůstaly na okraji zájmu (podle Rosenbergera, i když toho to asi moc netrápí, prodal svou OODB za hezkou sumičku).
Když si nad tím trochu zafilozofujem, a vrátíme se ke kořenům - tak jde o to, že máme nějakou běžící aplikaci, která má stav. Já tu aplikaci ukončím, a když ji zase spustím, tak chci, aby měla stejný stav jako předtím. Přidáme síťování, a tedy chci, aby když v jedné instanci aplikace upravím nějaká data, tak aby se mi magicky promítli do všech ostatních instancí (něco co dělá Slack pro příklad).
To je cíl.V praxi ale vidím něco jiného - mám aplikaci, a ta si svůj stav synchronizuje s databází (buřt jestli relační, nebo objektovou). Což by zase tak moc nevadilo, když by tato skutečnost neprosakovala do architektury té aplikace. Což by zase tolik nevadilo, když by si architekti ujasnili, jestli to chtějí přiznat, nebo ne, a nedělali to napůl.
Překvapivě nejčistší to mají funkcionální jazyky. Tam je jasně by design oddělený stav a logika, a tak není problém ten stav frknout do databáze, a všichni vědí. Zatímco u objektových jazyků furt cítím (na základě projektů se kterými jsem dělal i diskusí, které jsem vedl) děsnou schízu a neujasněnost.