2017-01-27 14 views
1

に参加存在しています。JPAはどこ/私はJPAのクエリに問題がある

製品< - > ShopCategory < - >カスタマー

しかし、結果はどのShopCategoryが存在するすべての製品とのリストです。

どのようにクエリを改善するためのアイデア?

答えて

0

あなたはもちろんのごShopCategoriesエンティティに双方向のマッピングを持っている場合、私はちょうどすべての方法顧客

SELECT DISTINCT p 
FROM Product p 
    INNER JOIN p.shopCategories sc 
    INNER JOIN sc.customer c 
WHERE c.customerId = 7 

に参加するでしょう。

更新

EXISTS使用して、私はあなたが親1と内側のクエリを相関させる必要があると思う:

SELECT DISTINCT p FROM Product p INNER JOIN p.shopCategories sc 
WHERE EXISTS (SELECT DISTINCT sc2 FROM Customer c INNER JOIN c.shopCategories as sc2 WHERE c.customerId=7 and sc = sc2) 
+0

悲しいことに何の双方向の関係はありません。他のアイデア? – Stack