Помните, что при написании DQL вы на самом деле сами не пишете SQL, вы говорите с вашей объектной моделью на уровне ORM.Поэтому, когда вы используете 'JOIN' в DQL, вы ссылаетесь на отношение между сущностями, а не на реальные таблицы.
Поэтому я бы создал самоссылающуюся связь в сущности, затем использовалDQL, чтобы присоединиться к этим отношениям:
$em->createQuery('SELECT a FROM MyEntity a JOIN a.foo f WHERE f.bar = 'somevalue')