protected function fetchByOnePassStrategy(QueryBuilder $builder, $hasJoin, array $values)
{
$builder = clone $builder;
$builder->addSelect(($hasJoin ? 'DISTINCT ' : '') . '%table.*', $builder->getFromAlias());
$builder->andWhere('%column IN %any', "{$builder->getFromAlias()}.{$this->joinStorageKey}", $values);
return $this->queryAndFetchEntities($builder->getQuerySql(), $builder->getQueryParameters());
}