Spring boot Springboot JPA@Query Rest提供PersistentEntity不能为null

Spring boot Springboot JPA@Query Rest提供PersistentEntity不能为null,spring-boot,spring-data-jpa,jpql,Spring Boot,Spring Data Jpa,Jpql,我正在尝试将一个简单的rest服务与springboot 1.4.3结合起来。我已经启动了它并运行了一些简单的查询,比如findByRecid,但是当我试图对同一个实体执行@Query语句时,我得到了下面的错误消息 {“原因”:null,“消息”:“persistentenentity不能为null!”} 此外,如果我在查询中使用实体的完全限定名,Intellij会告诉我该类不是实体,即使它用@entity标记并与标准springboot查询一起使用。如果可能的话,请提供帮助-我已经试着解决这个

我正在尝试将一个简单的rest服务与
springboot 1.4.3
结合起来。我已经启动了它并运行了一些简单的查询,比如
findByRecid
,但是当我试图对同一个实体执行
@Query
语句时,我得到了下面的错误消息

{“原因”:null,“消息”:“persistentenentity不能为null!”}

此外,如果我在查询中使用实体的完全限定名,Intellij会告诉我该类不是实体,即使它用@entity标记并与标准springboot查询一起使用。如果可能的话,请提供帮助-我已经试着解决这个问题好几天了。以下是供您参考的查询

@Query("SELECT new com.test.domain.ReceivableBeans.RecAgeBucketGroupAmountSum(r.agebucket, sum(r.amount)) from com.test.domain.Receivable as r GROUP BY r.agebucket")
    List<com.test.domain.ReceivableBeans.RecAgeBucketGroupAmountSum> recByAgeBucket();
@Query(“从com.test.domain.ReceivableBeans.RecAgeBucketGroupAmountSum(r.agebucket,sum(r.amount))中选择新的com.test.domain.ReceivableBeans.RecAgeBucketGroupAmountSum(r.agebucket,sum(r.amount)),按r.agebucket作为r组选择”)
List recByAgeBucket();
试试:

@Query("select new ReceivableStats(r.agebucket, sum(r.amount)) from Receivable r group by r.agebucket")
List< ReceivableStats> recByAgeBucket();

并让您的方法返回一个对象[]

您不再查询应收账款,而是获取组聚合的结果。让您的方法返回一个具有“agebucket”和“amount”属性的实体。谢谢Cafelate。尝试此操作后,出现以下错误:“在结果元组中找不到别名!请确保您的查询定义了别名!;嵌套异常为java.lang.IllegalStateException:在结果元组中找不到别名!”另一件奇怪的事情是,当我使用完全限定名时,Intellij告诉我,这个类不是一个实体,即使它被标记为@EntityHi Neil,还有其他想法吗?我已经让它与带有年龄桶和金额属性的新类一起工作,但是仍然获得相同的persistentenentity不能为null。很遗憾,没有工作。如果我没有包含完全限定名,我将在intellij中获得一个“无法解析符号”下划线,并且无法运行该服务。然而,将限定名放入works中,但我得到了与以前相同的错误,不幸的是{“原因”:null,“消息”:“PersistentEntity不能为null!”}有没有想过为什么存储库在@Query语句中提到我的entity类时不会将其视为一个实体?有没有人对此有任何想法?有没有可能看到更多的代码/一个小的可复制示例?只要我总是返回一个可接收的对象,我实际上已经实现了这一点。当我停止返回包含所有应收账款列的应收账款时,我得到了相同的错误——“持久实体不能为null”。因为SpringBoot只需要存储库和查询,所以没有其他代码可以真正显示。当我返回的是agebucket和SummatedAmount列时,您知道如何让它工作吗?我尝试了一个自定义类,尝试了对象[],并尝试了返回列表,但没有任何效果。这是SpringBoot的限制吗?
sum(r.amount) as amount