使用弹簧数据图/ Neo4j寻呼
问题描述:
使用弹簧数据图(Neo4J)作为数据存储区时可以获取Page
结果吗?使用弹簧数据图/ Neo4j寻呼
findAll(Pageable)
似乎是使用GraphRepository
时唯一可查询的查询。我正在寻找的是Pageable
其他findBy***()
类似查询的API。
也许,使用Spring Data Graph可能会有一种完全不同(推荐)的Page结果。对此的思考也是受欢迎的!
答
Spring Data Neo4j(2.0当前在SNAPSHOT中,但很快RC1)添加了对派生和注释查询的页面支持。 findAll()
从CRUD-Repository继承。
我们可以为默认查询方法添加页面支持。你能为此提出一个JIRA issue吗?
派生示例和@Query
带注释的Page方法。
interface UserRepository extends GraphRepository<User> {
// derived method
Page<User> findByTag(String tag, Pageable page);
@Query("start user=node({0}) match user-[r:RATED]-product where r.stars > 3 return product order by r.stars desc")
Page<Product> getRatedProducts(User user);
}
只需添加CYPHER(或小鬼)为依赖于你的应用程序:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-cypher</artifactId>
<version>${neo4j.version}</version>
</dependency>
感谢您的详细信息,@迈克尔。即使衍生的方法有效,我也很好 - 但是当我使用它们时,我收到一个错误 - “Cypher不可用,请将它添加到您的依赖项中”。任何想法为什么?同时,我将打开JIRA问题。 – Saket
添加依赖项修复了错误 - 谢谢!但我现在有问题,查询两个属性= getByProperty1AndProperty2() – Saket
什么问题?请提供更多的上下文。 –