When you set the Extract service to DoctrineModuleHydrator you lose the boolean value at create of entityHydrator of byValue.

We're creating Api's on the fly for uploaded Doctrine Entities and those fields have underscores which are stripped by the 
        $generator = new EntityGenerator;
        $generator->setGenerateStubMethods(false);

The sub method names have no underscorse but when the hydrator tries to extract fields by value / getter it doesn't find getters for the underscored fields, so they have to be pulled by reference, and setExtractService confuses the entity hydrator and sets the byValue flag back to true, so for ORM the hydrator and extract service have to be equal.