¿Puedo usar la palabra clave "ON" en DQL o necesito usar Native Query?

Tengo una relación oneToMany entre Post y PostVote. Me gustaría poder recuperar una publicación y cómo un usuario específico votó por ella. En DQL me gustaría recuperar Post y la entidad PostVote relacionada, pero solo una donde user_id es, por ejemplo, 5.

Parece que no puedo usar la palabra clave ON sql como esta:

->createQuery('SELECT p, pv FROM Post p LEFT JOIN p.postvotes ON pv.user = :userid WHERE p.id = :postid')

Y si uso WHERE para filtrar los resultados, crea un problema y no muestra un resultado a menos que exista al menos un objeto de votación posterior:

->createQuery('SELECT p, pv FROM Post p LEFT JOIN p.postvotes WHERE p.id = :postid' AND pv.user = :userid)

¿Es Native Query la única forma en que puedo lograr esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta