如何使用JPA GROUP BY

时间:2017-05-02 17:39:06

标签: java mysql hibernate jpa spring-boot

我看不出怎样才能像这样使用JPA查询...

  

@Query(value =“select statusupdateid,statusupdateid from comments group的count(*)”,nativeQuery = true)       公众

它应该提供StatusUpdate id和count ...

我不知道是使用HashMap还是使用什么....但是来自How to get SELECT values and COUNT value with JPA GROUP BY?的对象解决方案看起来不是一个优雅的解决方案而我的HashMap不起作用

public HashMap<StatusUpdate, Long> topComments();

由于

2 个答案:

答案 0 :(得分:0)

你可以使用它,你需要一个持有statusupdateid的类,statusupdateid

使用参数化构造函数:

    class Data {
    //please modify datatype as per your structure
     long statusupdateid;
     long count
    public(long statusupdateid, long count)
    this.statusupdateid=statusupdateid;
    this.count =count;
    }

现在您的查询将:

@Query(value = "select statusupdateid, count(*) from comments group by statusupdateid", nativeQuery = true) 
public List<Data> findStatusupdateidAndCount();

现在它将返回具有statusupdateid且计数<{p>的Data列表

答案 1 :(得分:0)

@Query(value = "select statusupdateid as statusupdateid , count(*) as count from comments group by statusupdateid")
public List<Map<String,Object>> find();

@Query(value = "select statusupdateid as statusupdateid , count(*) as count from comments group by statusupdateid")
public Page<Map<String,Object>> find(Pageable pageable);