isHydrate() ? Query::HYDRATE_OBJECT : Query::HYDRATE_ARRAY; $qb = $this->createQueryBuilder($configuration); $qb->andWhere($qb->expr()->in( sprintf('%s.%s', static::ENTITY_ALIAS, $configuration->getIdentifierProperty()), ':identifiers' )); $qb->setParameter('identifiers', $ids); return $qb->getQuery()->execute(array(), $hydrationMode); } /** * @param TypeConfiguration $configuration * @return \Doctrine\ORM\QueryBuilder */ private function createQueryBuilder(TypeConfiguration $configuration) { $repository = $this->registry->getRepository($configuration->getModelClass()); $method = $configuration->getRepositoryMethod(); return $repository->{$method}(static::ENTITY_ALIAS); } }