No necesita cláusulas ON en JPA, porque JPA ya sabe cómo se asocian las entidades gracias a las anotaciones de mapeo.
Además, está seleccionando application
, que no es un alias definido en su consulta.
Y tus uniones no tienen sentido.
La consulta debería ser simplemente
select application FROM Application a
join a.customer c
join c.users u
where u.id = :userId
Lea la documentación de Hibernate para comprender cómo funcionan HQL y las uniones.