Пейджинг с Spring Data Graph / Neo4j - PullRequest
       35

Пейджинг с Spring Data Graph / Neo4j

3 голосов
/ 06 ноября 2011

Можно ли получить результаты Page при использовании Spring Data Graph (Neo4J) в качестве хранилища данных?

Кажется, что findAll(Pageable) - единственный доступный для поиска запрос, доступный при использовании GraphRepository.То, что я ищу, это Pageable API для других findBy***() подобных запросов.

Возможно, может быть совершенно другой (рекомендуемый) способ отображения результатов страницы с использованием Spring Data Graph.Мысли об этом тоже приветствуются!

1 Ответ

2 голосов
/ 07 ноября 2011

Spring Data Neo4j (2.0 в настоящее время в SNAPSHOT, но скоро RC1) добавил поддержку страницы для производных и аннотированных запросов. findAll() наследуется от CRUD-репозитория.

Мы могли бы добавить поддержку страницы для методов запросов по умолчанию. Не могли бы вы поднять вопрос JIRA для этого?

Пример для производных и @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);
}

Просто добавьте шифр (или гремлин) в качестве зависимости к вашему приложению:

<dependency>
   <groupId>org.neo4j</groupId>
   <artifactId>neo4j-cypher</artifactId>
   <version>${neo4j.version}</version>
</dependency>
...