2017-02-18 9 views
0

Быстрый вопрос о порядке сортировки с использованием весна-Data-Neo4jРезультаты Страница из запроса возвращаются в случайном порядке

Я использую следующий запрос, чтобы получить «категории путь».

@Query("MATCH (c1:Category {sceneId: {categoryId}})-[r:PARENT*]->(c2:Category) RETURN c1, r, c2") 
    Page<Category> getCategoryPath(@Param("categoryId") String categoryId, Pageable pageable); 

В нашей системе категории структурированы в виде дерева, и единственный путь категории путь из категории листа к корневой категории.

Например, следующая категория путь:

(c1: Категория) < - [: Родитель] - (c2: Категория) < - [: Родитель] - (с3: Категория)

Проблема, с которой я сталкиваюсь, заключается в том, что Категории возвращаются в объект страницы не по порядку. Я хочу, чтобы категории в порядке листа были родителями или родителями, чтобы листок (неважно, какой), а не случайный порядок.

Любые советы?

+0

Технически, наличие '' Pageable' в параметрах вашего метода автоматически добавляет 'ORDER BY' в запрос. – nmervaillie

+0

Итак, вы можете иметь заказ на свойства c1 или свойства c2, но не оба. Возможно, представление иерархии в вашей модели домена (вложенные категории в категориях) - это путь. – nmervaillie

ответ

0

Без ORDER BY, нет гарантии о порядке страницы. Не уверен, есть ли у вас хороший способ добавить заказ для вашего прецедента. Вы можете получить результат пользовательского запроса здесь, но я не могу гарантировать, что он исправит ваш прецедент, пока мы не будем обходиться с этими данными еще немного.