I think this is because of the lazy-load nature of how Doctrine deals with OneToMany relationships. You will probably need to write out a full DQL query which specifies the join information. I would make EntityRepository::getFullObjectFromId() and then spell out the DQL. something like this:

https://github.com/craigh/Downloads/blob/master/lib/Downloads/Entity/Repository/DownloadRepository.php#L32

also - if you end up pulling this, please move the Entities from `https://github.com/zikula/core/tree/cat_ref/src/lib/Zikula/Doctrine2/Entity` to the actual Categories module.