2011-11-06 106 views
3

使用彈簧數據圖(Neo4J)作爲數據存儲區時可以獲取Page結果嗎?使用彈簧數據圖/ Neo4j尋呼

findAll(Pageable)似乎是使用GraphRepository時唯一可查詢的查詢。我正在尋找的是Pageable其他findBy***()類似查詢的API。

也許,使用Spring Data Graph可能會有一種完全不同(推薦)的Page結果。對此的思考也是受歡迎的!

回答

2

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> 
+0

感謝您的詳細信息,@邁克爾。即使衍生的方法有效,我也很好 - 但是當我使用它們時,我收到一個錯誤 - 「Cypher不可用,請將它添加到您的依賴項中」。任何想法爲什麼?同時,我將打開JIRA問題。 – Saket

+0

添加依賴項修復了錯誤 - 謝謝!但我現在有問題,查詢兩個屬性= getByProperty1AndProperty2() – Saket

+0

什麼問題?請提供更多的上下文。 –