Com o Doctrine, quais são os benefícios de usar o DQL sobre SQL?

Alguém pode me fornecer algumas razões claras (com suporte) para usar / aprender DQL versus SQL ao precisar de uma consulta personalizada ao trabalhar com as classes do Doctrine?

Acho que, se não posso usar a funcionalidade relacional integrada de um ORM para obter algo, geralmente escrevo um método personalizado na classe estendida Doctrine ou DoctrineTable. Neste método escreva o necessário em SQL direto (usando PDO com instruções preparadas adequadas / proteção de injeção, etc ...). O DQL parece ser uma linguagem adicional para aprender / depurar / manter que não parece fornecer razões convincentes suficientes para usar nas situações mais comuns. O DQL não parece ser muito menos complexo do que o SQL para garantir o uso - na verdade, duvido que você possa efetivamente usar o DQL sem ter uma sólida compreensão do SQL. A maioria das principais portas de sintaxe SQL é bastante comum nos DBs mais comuns que você usará com o PHP.

O que estou perdendo / negligenciando? Tenho certeza de que há uma razão, mas gostaria de ouvir de pessoas que a utilizaram intencionalmente de forma significativa e que o ganho foi tentar trabalhar com SQL simples.

Eu não estou procurando por um argumento de apoio ORMs, apenas DQL quando precisar fazer algo fora do núcleo necessidades de tipo 'get-by-relationship', em uma configuração tradicional LAMP (usando mysql, postgres, etc ...)

questionAnswers(4)

yourAnswerToTheQuestion