在spring-data-couchbase(N1QL)中计算查询

时间:2016-01-11 14:11:40

标签: java spring couchbase spring-data-couchbase

我正在使用Spring模块编写couchbase存储库,并且我尝试使用N1QL查询添加自己的count方法实现:

public interface MyRepository extends CouchbaseRepository<Entity, Long> {
    @Query("SELECT count(*) FROM default")
    long myCount();
}

但它不起作用:

org.springframework.data.couchbase.core.CouchbaseQueryExecutionException: Unable to retrieve enough metadata for N1QL to entity mapping, have you selected _ID and _CAS?

所以我的问题是:如何使用spring-data-couchbase编写计数查询?

我在spring文档中找不到任何相关内容。 link

2 个答案:

答案 0 :(得分:3)

发生此异常是因为@Query注释的设计考虑了检索实体的用例。从RC1开始,对类似标量的预测是未发现的角落案例。也许我可以想一些通过注释中的显式布尔标志来添加对它的支持的方法吗?

不幸的是我无法找到解决方法。我试图提出一个自定义存储库方法实现,但它似乎在2.0.0-RC1中打破了它的支持:(

编辑: 简单返回类型的用例,例如long,使用只使用单个聚合的SELECT,应该可以工作,这是一个bug /改进。我在Spring Data JIRA中打开了票证DATACOUCH-187

答案 1 :(得分:0)

使用此查询:

guifont