Допустим, у меня есть график:
A - follows -> B
A - follows -> C
Теперь у меня есть запрос, чтобы получить подписчиков как для B
, так и C
(который должен вернуть мне A
2 раза).
MATCH (a)<-[:FOLLOWS]-(followers)
WHERE a.username IN ['B','C']
RETURN followers
Если я сделаю этот запрос через браузер Neo4J, я получу 2 records: A
node 2 раза. Это правильно.
Если я сделаю тот же запрос через репозиторий Spring, я получу список только с 1 object (A).
Итак, через репозиторий Spring любой запрос для сущностей работает так, как будто я добавляю DISTINCT
, поэтому нет разницы между обычным запросом и DISTINCT
единицей.
Если я запрашиваю какое-то свойство узла, то есть A.username
, я получаю список с двумя дублирующимися строками (по назначению).
- Ожидается ли такое поведение?
- Почему?
- Существует ли способ запроса полных сущностей с дубликатами, так же, как запрос Cypher работает в самом Neo4J?