Klasa encji może być dowolną klasą; biblioteka nie narzuca tutaj żadnych klas bazowych koniecznych do rozszerzenia czy interfejsów – pola opisywane są poprzez mechanizm adnotacji. Porzucono także wykorzystywanie elementów magicznych języka PHP na rzecz menedżera encji (entity manager), który zarządza obiektami encji w sposób jawny.

Możliwości:

język Doctrine Query Language do formułowania zapytań z jasną, jednoznaczną gramatyką i możliwością rozbudowy o nowe elementy, lekkie obiekty encji – Doctrine nie narzuca żadnych interfejsów, ani klas do rozszerzenia, wsparcie dla transakcji oraz inteligentne kolejkowanie zapytań do wykonania w celu uzyskania jak największej wydajności, opis struktury bazy danych poprzez mechanizm adnotacji, lub w formatach XML/YAML, wsparcie dla dziedziczenia tabel na poziomie biblioteki, duże możliwości rozszerzania, mechanizm buforowania.

Zupełnie nowymi bibliotekami są Doctrine MongoDB Document Object Mapper, który dostarcza analogiczną do Doctrine ORM funkcjonalność dla nierelacyjnej bazy danych MongoDB, oraz Doctrine Migrations do wersjonowania schematu bazy danych i jego aktualizacji.