The problem with most ORMs is that language object models are way more expressive than SQL (due to having multiple subclasses of the same superclass / interface, or even multiple inheritance, and none of those mapping to SQL foreign keys).
Targeting the less expressive data model should automatically avoid most ORM footguns. I wonder how it works in practice.