我为商店制作了购物车网络应用程序。如果客户登录系统,他们会在购物车中添加一些商品。在我的例子中,我将所有购物车商品存储在名为ShoppingCart的表中。我有两个名为Customer和ShoppingCart的表。 ShoppingCart主键是userName。 userName是Customer表的一个属性。我需要获取userName所有的ShoppingCart条目。
SELECT o FROM ShoppingCart o, Customer c WHERE c.userName = :id
id是ShoppingCart的主键。我无法从此查询中获得正确的结果。我该怎么办?
先谢谢。
答案 0 :(得分:0)
您可以尝试以下查询。在您的查询中,您尚未添加应加入的列以获取给定ID的精确结果。
SELECT o FROM ShoppingCart o, Customer c WHERE c.userName = o.userName AND o.userName = :id
此外,您可以尝试一对多添加关系,因为每个客户可以拥有一个或多个订单商品。
SELECT c FROM Customer c JOIN c.orders o WHERE c.userName = :id
此处,orders
是特定客户的订单集合。然后从Customer
,您可以获得订单。