【问题标题】:How to get result of custom query with new field name in spring boot如何在spring boot中使用新字段名获取自定义查询的结果
【发布时间】:2022-11-02 18:06:59
【问题描述】:

在我的 springboot 应用程序中,我有连接到 mysql 的存储库。我可以进行与实体具有相同响应字段的查询。但是在本机查询的情况下,我如何才能捕获新字段?

这是我的查询方法

@Repository
public interface LogRepository extends JpaRepository<Log, String>  {

    @Query("SELECT error, COUNT(*) AS numberOfErr FROM logs GROUP BY error ORDER BY COUNT(*) DESC")
    List<Log> countError();
}

但是 Log 类没有任何 numberOfErr 字段。那么这个方法实际上应该返回什么?

【问题讨论】:

    标签: spring spring-boot hibernate jpa spring-data-jpa


    【解决方案1】:

    您可以创建一个接口:

    public interface LogError {
        Log getError();
        Long getNumberOfErr();
    }
    

    然后将其用作查询的返回类型:

    @Repository
    public interface LogRepository extends JpaRepository<Log, String>  {
    
        @Query("SELECT error as error, COUNT(*) AS numberOfErr FROM logs GROUP BY error ORDER BY COUNT(*) DESC")
        List<LogError> countError();
    }
    

    【讨论】:

      猜你喜欢
      • 2020-02-04
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 2019-09-28
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多