There's a famous paper calling ORM the "Vietnam of computer science":
It represents a quagmire which starts well, gets more complicated as time passes, and before
long entraps its users in a commitment that has no clear demarcation point, no clear win conditions, and
no clear exit strategy.
This is hyperbolic but it's true.
Instead of ORM I develop object-oriented tools to help with SQL manipulation. I also make use of data transfer objects (like most ORMs).
But I would never rely on an ORM to handle complex queries.
It represents a quagmire which starts well, gets more complicated as time passes, and before long entraps its users in a commitment that has no clear demarcation point, no clear win conditions, and no clear exit strategy.
This is hyperbolic but it's true.
Instead of ORM I develop object-oriented tools to help with SQL manipulation. I also make use of data transfer objects (like most ORMs).
But I would never rely on an ORM to handle complex queries.