Actually somewhere the transposition has to be done. See Hydration Modes about what is returned by ->getResult() and which alternatives modes/variants already exist.
You can also add your own hydration mode at a central place. That is explained in Custom Hydration Modes.