Есть ли способ просто получить все отношения определенного типа, где тип представляет собой аннотированный класс @RelationshipEntity
, из базы данных spring-data-neo4j [SDN]? (работает с 2.0.0.RC1 и встроенной БД)
Когда я пробую метод, предоставленный SDN:
relationShipRepository.findAll()
это дает мне следующую ошибку:
org.neo4j.graphdb.NotFoundException: __type__ property not found for RelationshipImpl #9672 of type 7 between Node[4844] and Node[4875].
Полная трассировка стека: http://pastebin.com/j2gqcjxh (хотя поиск
Решением было бы использовать низкоуровневый (neo4j) API (а именно GraphDatabaseService
) для получения всех узлов, а затем для каждого узла извлекать все их отношения и проверять, соответствует ли их поле __type__
типу отношений, которые меня интересуют. Но тогда зачем предоставлять метод findAll
для отношений?
Простое объяснение заключается в том, что рекомендуемый интерфейс одинаков для узлов и отношений, но говорится ли в какой-либо документации, что нам не разрешено использовать findAll
для отношений?
Или: изучив объект отношения в базе данных, он противоречит исключению, потому что тип определен правильно, как и ожидалось, и можно восстановить отношение через высокоуровневый (SDN) API после того, как вы получили узел и вы позвони getRelationship*(..)
Другое замечание: кто-нибудь знает, будет ли служба ImpermanentDataGraph
включена в версию 2+?