Дык а в чем проблема работы со связями? Вы получаете PersistentCollection (связанные объекты), сетите их в свой объект - так и работайте с ними, добавляйте, сохраняйте и т.д.
А для вашего исходного объекта - не нужно в общем использовать Doctrine, он же не связан с БД никак, а Doctrine - ORM framework.
Например сущность у вас Product:
Сделайте сервис(ProductManager) который инстанциирует ваш объект (получает данные из стороннего сервиса, данные из БД, компонует это все дело и отдает)
Связанные сущности - не будут иметь проблем при работе с БД. ($em->persist($product->getReviews))
А понадобиться добавить сохранение объекта - реализуете его в этом же сервисе ($productManager->save()) в котором и реализуете логику сохранения используя сторонний апи.
ORM - технология. Active Record - реализация ORM, так что нельзя сказать что Active Record не ORM. В Doctrine2 ORM реализуется при помощи DataMapper. Скорее всего вы это имели в виду.