【发布时间】:2017-06-01 00:27:14
【问题描述】:
我正在尝试与springboot 1.4.3 组合一个简单的休息服务。我使用findByRecid 之类的简单查询启动并运行它,但是当我尝试对同一实体执行@Query 语句时,我收到以下错误消息
{"cause":null,"message":"PersistentEntity 不能为空!"}
此外,如果我在查询中为实体使用完全限定名称,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();
【问题讨论】:
-
您不再查询应收账款,而是获取组聚合的结果。让您的方法返回一个具有“agebucket”和“amount”属性的实体。
-
谢谢cafelatte。尝试过,然后得到以下错误。“在结果元组中找不到别名!确保您的查询定义了别名!;嵌套异常是 java.lang.IllegalStateException:在结果元组中找不到别名!”另一件奇怪的事情是,当我使用 Receivable 的完全限定名称时,Intellij 告诉我该类不是实体,即使它被标记为 @Entity
-
嗨,尼尔,还有其他想法吗?我已经让它与具有年龄桶和数量属性的新类一起使用,但不幸的是仍然得到相同的 PersistentEntity 不能为空问题。
标签: spring-boot spring-data-jpa jpql