0

由于以下 SQL 请求,我有一些返回对象和计数的方法

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;
}

我正在尝试将此 List 转换为包含对象(请求中的 s)和计数的 Hashmap。我已经尝试了很多东西,但我一生都无法弄清楚如何做到这一点。
目标是将此 Hashmap 返回到 json 中。

4

1 回答 1

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;
}
于 2013-05-21T17:11:07.937 回答