如何在JPQL中使用where子句?

时间:2013-12-09 04:13:10

标签: persistence jpql

我为商店制作了购物车网络应用程序。如果客户登录系统,他们会在购物车中添加一些商品。在我的例子中,我将所有购物车商品存储在名为ShoppingCart的表中。我有两个名为Customer和ShoppingCart的表。 ShoppingCart主键是userName。 userName是Customer表的一个属性。我需要获取userName所有的ShoppingCart条目。

SELECT o FROM ShoppingCart o, Customer c WHERE c.userName = :id

id是ShoppingCart的主键。我无法从此查询中获得正确的结果。我该怎么办?

先谢谢。

1 个答案:

答案 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,您可以获得订单。

相关问题