I'm not the biggest fan of ORMs (they look nice and dandy at first, and then they hurt), so I don't know the answer to your question.
I want to be able to change database-layout (up to a certain extent) without having to change tons of lines of sql code widely spread among hundreds of modules and scripts.
Do note that you don't need an ORM to be able to archive that. You can easily write a layer (and it's up to you to determine how many files this layer has) that provides access to the database -- that is, if you change the layout of your database, all you need to change is this layer. In fact, this layer can be written in the database itself (stored procedures) or in a different language. There's no need to map each row into an object. That's just one way of doing it.