Estou começando a usar o ORM recomendado pela estrutura que escolho e, embora goste da idéia da camada adicional de abstração que o ORM fornece, estou começando a perceber o que isso realmente significa. Isso significa que não estou mais trabalhando com meu banco de dados (mysql) e quaisquer recursos específicos do mysql desapareceram pela janela, como se não existissem.
A idéia do ORM é que ele está tentando me ajudar, tornando tudo independente do banco de dados. Isso parece ótimo, mas muitas vezes há uma razão pela qual escolhi um sistema de banco de dados específico. Mas, seguindo a rota independente do banco de dados, o ORM adota o menor denominador comum, o que significa que acabo com o menor conjunto de recursos (os suportados por todos os bancos de dados).
E se eu souber que, a longo prazo, não mudarei o banco de dados subjacente? Por que não acessar os recursos específicos do banco de dados também?