我有一个复杂的数据库,看起来像这样:
product *1 <-> n* inventory *n <-> 1* inventoryUser *1 <-> n* user
现在我想询问,例如所有产品,其中user.firstname ='peter'在hql中。
答案 0 :(得分:3)
我想出了如何处理它:
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
答案 1 :(得分:2)
在您的实体和映射中,您应该为每个关系提供参考。您的HQL查询将如下所示:
SELECT p FROM Product p, IN(p.inventory.inventoryUser) AS iu
WHERE iu.username=:username