DQL stands for Doctrine Query Language and is an Object Query Language derivate that is very similar to the Hibernate Query Language (HQL) or the Java Persistence Query Language (JPQL).
We’ve done a lot of work so its time to see one of the most powerful features of Doctrine: events. Using an ORM gives us the flexibility to have hooks that are executed whenever certain things are done, like when an entity is first persisted to the database, updated, or deleted.
This User model is used throughout the bundle but doesn’t have a complete implementation to access its own data (I didn’t look but I think it could be an interface only). The final implementation is done in an entity class and another in a document class so no matter whether you use MySQL or MongoDB ...