Nunca vi alguém argumentando mais profundamente sobre o uso de ORMs, sempre era algo superficial no ponto de "você pode usar .findAll()
e pronto!". A questão é que, num projeto de verdade, você muito provavelmente não quer usar um SELECT *
e quase não terá SELECT
sem WHERE
.
Não acho que eu consiga te dar boas dicas de como fazer sem usar ORM porque não tenho referência nisso fora de ambiente de estudo (escola/faculdade). O que eu fiz foi identificar um tipo de abstração simples para lidar no meu projeto logo no início, e então ir acoplando as necessidades conforme avançava. Acabei tendo uma classe genérica para fazer find
, por exemplo, que aceita um where
como string ao invés de ficar algo como em ORMs, que você passa um objeto que vai tendo cada vez mais campos e mais profundidade conforme a consulta tem mais condições. Mas sempre que preciso de algo que não seja básico, já faço um SELECT
"cru", sem usar abstração.