【问题标题】:Getting the occurrence of values using JpaRepository Queries使用 JpaRepository 查询获取值的出现
【发布时间】:2016-07-20 03:02:36
【问题描述】:

我有一个名为 Submission 的类和另一个用于存储库的 SubmissionDAO。提交类有id、作者、标题等多个字段...

我想要做的是搜索数据库并获取数据库中每个作者值的(计数,作者)对列表。

我查询了

@Query(value = "select author, count(*) from submissions GROUP BY author order by count(author) desc", nativeQuery = true)
List<Submission> findByAuthorOccurance();

显然,这不起作用,因为它不能将计数值放入 Submission 对象中。 我的问题是如何将这对值返回给我的控制器?

我已经尝试搜索,但没有任何结果。

【问题讨论】:

    标签: java mysql spring spring-boot spring-data-jpa


    【解决方案1】:

    万一将来有人出于某种原因来到这里,我想出了我的问题。

    当您指定要从查询中获取的数据点范围(即作者和计数)时,它会将值分组到对象数组(Object[])中并将它们放入普通列表中。

    所以我的代码最终是这样的:

    @Query(value = "select author, count(*) from submissions GROUP BY author order by count(author) desc", nativeQuery = true)
    List<Object[]> findByAuthorOccurance();
    

    对于查询和

       List<Object[]> map =submissionRepository.findByAuthorOccurance();
        for(Object[] objs : map){
            System.out.println((String)objs[0]+" : "+(BigInteger)objs[1]);
        }
    

    获取数据。

    【讨论】:

      猜你喜欢
      • 2021-10-16
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 2017-04-15
      • 1970-01-01
      • 2014-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多