2013-05-21 55 views
0

我有一些方法,該方法返回一個對象,並計數,由於下面的SQL請求清單HashMap來創建API

public List<Sales> mostLoyal() { 
    String queryString = "SELECT s, COUNT(s.saleId) as TotalNum FROM Sales s GROUP BY s.custId.custLastName ORDER BY TotalNum DESC"; 
    List<Sales> breakdown = em.createQuery(queryString).setMaxResults(10).getResultList(); 
    return breakdown; 
} 

我試圖名單轉化爲包含對象一個HashMap(S在請求中)和計數。我已經嘗試了很多東西,但我無法弄清楚如何做到這一點。
目標是將此Hashmap返回到json。

+1

'我試了很多東西' - >比如? –

+0

你在使用休眠嗎? – vidit

+0

Sales類別擁有哪些值? – Adarsh

回答

1

您可以簡單地遍歷列表並將值放入HashMap中並將其返回。應該很簡單。

public Map<String,Integer> mostLoyal() { 
    Map<String,Integer> m = new HashMap<String,Integer>(); 
    String queryString = "SELECT s, COUNT(s.saleId) as TotalNum FROM Sales s GROUP BY s.custId.custLastName ORDER BY TotalNum DESC"; 
    List<Sales> breakdown = em.createQuery(queryString).setMaxResults(10).getResultList(); 

    for(Sales sale: breakdown){ 
     m.put(sale.getS(),sale.getCount()); 

    } 
    return m; 
} 
+0

沒有理由我沒有方法getS()或getCount()。 – Simon

+0

然後getResultList()方法做什麼? ,您的銷售類必須保留該信息。 – Lokesh

+0

這是來自ORM的一種方法。 – Simon