У меня есть сложная база данных, которая выглядит так:
product *1 <-> n* inventory *n <-> 1* inventoryUser *1 <-> n* user
Теперь я бы хотел запросить, например, все продукты, где user.firstname = 'peter' в hql.
Я подумал, как с этим справиться:
Product as p join fetch p.inventories as i join fetch i.inventoryUser as iu join fetch iu.user as u where u.name=:name
В ваших сущностях и отображениях у вас должны быть ссылки для каждого из этих отношений. И ваш HQL-запрос будет выглядеть так:
SELECT p FROM Product p, IN(p.inventory.inventoryUser) AS iu WHERE iu.username=:username