&gt; How it represents rows as objects.<p>A row is the DBMS&#x27;s model of an entity in the domain.
An object is an object-oriented programming language&#x27;s model of an entity in the domain.<p>Representing domain entities as objects in the PL that are backed by rows in a database relation (view or table), which is what the Active Record pattern does, is reasonable.<p>&gt; How it conflates modelling the domain with database structure.<p>Modelling the domain should drive both application and database structure; the Active Record pattern doesn&#x27;t promote anything bad I can see there.<p>There are particular choices in database design that are encouraged by the path of least resistance in some Active Record implementations and related tooling that are, perhaps, not so great.