spring data neo4j @Query countQuery

时间:2013-09-30 05:29:48

标签: neo4j cypher spring-data-neo4j

包org.springframework.data.neo4j.annotation中的注释@Query提供了某些计数属性,如countQuery,countQueryName。

/**
 * @return simpler count-query to be executed for @{see Pageable}-support {self} will be provided by the node-id of the current entity other parameters (e.g. {name}) by the given named params
 */
String countQuery() default "";

/**
 * @return name of the named count query to be used for this annotated method, instead of Class.method.count
 */
String countQueryName() default "";

有人可以解释一下这些用法吗?更具体地说,我已经编写了一个查询来获取主题的帖子。查询结果将被分页。下面的查询工作正常,并给我结果。

@Query("start post=node:__types__(className='com.xxx.entity.Post'), topic=node({0}) match post-[:TOPIC_POST]-topic return post")
Page<Post> getPostsByTopic(Topic topic, Pageable page);

现在我也想要结果总数,我是否必须为此编写另一个查询,或者是否有办法容纳计数查询?

1 个答案:

答案 0 :(得分:0)

我认为countQuery应该适合你,但你仍然需要编写计数查询

  

如果要求分页结果返回正确的总计数,   @Query注释可以在中提供计数查询   countQuery属性。此查询在单独执行后执行   结果查询及其结果用于填充totalCount   返回页面的属性。

http://docs.spring.io/spring-data/neo4j/docs/current/reference/htmlsingle/#d0e2712