2013-12-09 142 views
-1

我做了一個商店的購物車網絡應用程序。如果客戶登錄系統,他們會在購物車中添加一些項目。就我而言,我將所有購物車項目存儲在名爲ShoppingCart的表格中。我有兩個名爲Customer和ShoppingCart的表。 ShoppingCart主鍵是userName。 userName是Customer表的一個屬性。我需要獲取所有的用戶名中的ShoppingCart條目。如何在JPQL中使用where子句?

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

id是ShoppingCart的主鍵。我未能從此查詢中獲得正確的結果。我該怎麼做?

在此先感謝。

回答

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,你可以得到它的訂單。