Spring Data Neo4j - (все) свойства RelationsshipEntity - PullRequest
0 голосов
/ 15 февраля 2019
@NodeEntity
class A {
    @Relationship(type = "INCLUDES", direction = Relationship.UNDIRECTED)
    List<B> bs;
}

@NodeEntity
class B {}

class C {
    int something;
}

@RelationshipEntity(type = "INCLUDES")
class R {
    String property1;
    int property2;
    C c;

    @StartNode
    A a;

    @EndNode
    B b;
}

Цель - получить объект отношения между двумя конкретными узлами (в некоторых случаях A и B) с ALL его свойствами.

Я попробовал следующеезапрос шифра:

MATCH (a:A)-[i:INCLUDES]-(b:B) RETURN i;

Однако, это только дает мне пустой результат.Если я получу все INCLUDE сущности отношений с реализацией Neo4jRepository.findAll() по умолчанию, я увижу, что все свойства установлены.

Спасибо за любую помощь!

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Попробуйте это

MATCH (a:A)-[i:INCLUDES]-(b:B) RETURN i, a, b;
0 голосов
/ 19 февраля 2019

Пользовательский запрос должен возвращать также A s и B s.Spring Data Neo4j нуждается в их различении, если можно сопоставить отношение INCLUDES.Возможно, что возвращенные INCLUDE соединяются C с и D с в базе данных.Это может привести к неправильным (и неполным) отображенным отношениям.

Также имейте в виду, что отображение в вашем классе A должно ссылаться на R вместо B, чтобы получить правильное поведение во всех случаях.

...