I was with you some of the way but "making you avoid doing joins in the database" made me drop my monocle. You want joins in the database, they are designed for joins. Moving joins to the client will kill performance and scalability.
And any sane ORM will perform the joins in the database by default.
And any sane ORM will perform the joins in the database by default.