I don't understand why everyone hates ORMs so much. It makes no sense. For any non-trivial project, you are all but guaranteed to want one. Probably sooner than you think. Why not just use one from the beginning that you know to be robust and well understood, instead of half reinventing the whole concept, ad-hoc, one query at a time?