Spring Boot 如何在Sping Boot 中使用新字段名获取自定义查询结果

yuvru6vn  于 2022-11-05  发布在  Spring
关注(0)|答案(1)|浏览(212)

在我的springboot应用程序中,我有一个连接到mysql的仓库。我可以进行查询,它有与实体相同的响应字段。但是在原生查询的情况下,我如何捕捉新字段呢?
下面是我的查询方法

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

但是Log类没有任何numberOfErr字段,那么这个方法应该返回什么呢?

nhn9ugyo

nhn9ugyo1#

您可以建立界面:

  1. public interface LogError {
  2. Log getError();
  3. Long getNumberOfErr();
  4. }

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

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

有关更多信息,请参见Spring JPA文档中的“投影”部分。

展开查看全部

相关问题