Doctrine2 — первая тоже была хороша, но вторая сказка :) Модели обычные объекты, не наследники чего-нибудь — связь с базой задаётся или в конфигах, или в аннотациях (комментарии к классу и свойствам по типу phpdoc) — никакой двойной, а то и тройной ответственности, модель не знает как и где она хранится в принципе, никаких методов объекта save или класса find нет. За хранение (вернее «персистентность») объектов отвечают репозитории. В общем реализованы паттерны DataMapper и UnitOfWork, а не популярный ActiveRecord в разных вариациях.