Вам необходимо проверить его с помощью IN и подзапроса , так как оба работают в JPQL (согласно синтаксической справке они работают вместе).Вы также можете посмотреть на MEMBER OF выражений .
Но, на мой взгляд, есть более лучший подход.Такие запросы называются коррелированными подзапросами, и их всегда можно переписать, используя EXISTS:
SELECT * FROM COUNTRIES c WHERE
EXISTS (
SELECT 'found' FROM PORTS p
WHERE p.COUNTRY_ID = c.COUNTRY_ID AND STATE = 'A'
)
JPQL поддерживает EXISTS с подзапросами .