Vous n'avez pas besoin de clauses ON dans JPA, car JPA sait déjà comment les entités sont associées grâce aux annotations de mappage.
De plus, vous sélectionnez application
, qui n'est pas un alias défini dans votre requête.
Et vos jointures n'ont aucun sens.
La requête doit simplement être
select application FROM Application a
join a.customer c
join c.users u
where u.id = :userId
Lisez la documentation d'Hibernate pour comprendre le fonctionnement de HQL et des jointures.