Symfony2 + Doctrine2 не кэширует результаты объединенных сущностей

Я использую Symfony 2.0.10 с Doctrine 2.1 и у меня довольно простой запрос (см. Ниже), где я хочу кешировать результаты с помощью APC (версия 3.1.7, 1 ГБ памяти для него) черезuseResultCache(true, 600) и сохранить режим гидратации как\Doctrine\ORM\Query::HYDRATE_OBJECT.

Проблема в том, что отношения «многие ко многим» (Doctrine\ORM\PersistentCollection) не кэшируется, и каждый раз, когда кэшируются результаты основного запроса, присоединяемые сущности устанавливаются вnull, Тот же запрос хорошо кэшируется в APC, когда я устанавливаю режим гидратации в\Doctrine\ORM\Query::HYDRATE_ARRAY, но это не приемлемое для меня решение, потому что я не могу переделать много шаблонов, чтобы это работало.

Подскажите, пожалуйста, как я могу кешировать все присоединенные сущности в APC? Пожалуйста, не указывайте на документацию, потому что я думаю, что выучил это наизусть, пытаясь решить эту проблему :)

КОД:
$property = $em
->createQueryBuilder()
->select('p,u')
->from('MyBundle:Property', 'p')
->leftJoin('p.users', 'u')
->where('p.id in (:id)')
->setParameter('id', 123)
->getQuery()
->useResultCache(true, 60)
->setHydrationMode(\Doctrine\ORM\Query::HYDRATE_OBJECT)
->getResult();
User.php
class User {
    /**
     * @ORM\ManyToMany(targetEntity="Property", mappedBy="users", cascade={"all"}, fetch="EAGER")
     */
     protected $properties;
}
Property.php
class Property {
    /**
     * @ORM\ManyToMany(targetEntity="User", inversedBy="properties", cascade={"all"}, fetch="EAGER")
     * @ORM\JoinTable(name="user_property",
     *      joinColumns={@ORM\JoinColumn(name="property_id", referencedColumnName="id")},
     *      inverseJoinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}
     * )
     */
     protected $users;
}

Ответы на вопрос(1)

Ваш ответ на вопрос