Probably, the reason is in the way Query calls hydrator's iterate method (with no hints passed to it). Therefore the UnitOfWork object is not affected by HINT_FORCE_PARTIAL_LOAD hint set to the query object.

Suggested solution:
pass _hints array to a hydrator::iterate method when calling it from an AbstractQuery::iterate method.

Roman S. Borschel
added a comment - 04/May/10 4:13 AM Can we see the code you're using? We need to create a testcase first before fixing it.
The code example in the documentation is no longer correct. I updated it already but the docs did not regenerate yet.
For partial objects, you need to use "select partial u.
{id,name}
from User u".
The HINT_FORCE_PARTIAL_LOAD now actually means "no proxies" or "optimize everything possible". It really needs to be renamed