The ORM sits on top of the Doctrine Project’s Database Abstraction Layer (DBAL) providing ways to query and manipulate information in the underlying database using Doctrine’s DSL called DQL.
Using the ORM provides developers with many advantages over direct access to the database:
- DBAL abstracts over many platforms allowing use of the same ORM code with many databases platforms. (MySQL, PgSQL, Sqlite, Oracle)
- Mapping database structures to domain models allows for separation of concerns.
- Support for advanced caching techniques across many platforms (APC, Redis, etc.)