Сопоставление @Relationhip не работает, выдает ноль - PullRequest
0 голосов
/ 21 января 2019

Neo4j-OGM неправильно отображает поле отношения (помеченное @Relationship) после выполнения запроса шифра.Вот определение сущности:

@NodeEntity(label = "Table")
public class NTable {
    @Id
    @GeneratedValue
    private Long id;
    private String db;
    private String name;
    private Integer latestVersion;

    @Relationship(type = "TD", direction = Relationship.INCOMING)
    private List<NTable> srcTables;

    public NTable() {
    }

    public NTable(String db, String name, Integer latestVersion) {
        this.db = db;
        this.name = name;
        this.latestVersion = latestVersion;
    }

    // getters and setters

}

@RelationshipEntity(type = "TD")
public class RTableDownstream {
    @Id
    @GeneratedValue
    private Long id;

    private Integer version;
    private Long createTime;
    private Long lastModifiedTime;

    @StartNode
    private NTable srcTable;

    @EndNode
    private NTable destTable;


    public RTableDownstream() {
    }

    public RTableDownstream(NTable srcTable, NTable destTable) {
        this.srcTable = srcTable;
        this.destTable = destTable;
    }

    // getters and setters

хранилище определяется следующим образом:

@Repository
public interface LineageRepository extends Neo4jRepository<NTable, Long> {

    @Query("match (t:Table {db: {db}, name: {name}})<-[td:TD]-(t2:Table) return t,td,t2")
    Collection<NTable> getTable(@Param("db") String db,
                    @Param("name") String name);
}

После выполнения кода поле srcTables имеет значение NULL.со следующим графиком теста:

merge (t1:Table {db:'tmp', name:'T1', latestVersion: 1})
merge (t2:Table {db:'tmp', name:'T2', latestVersion: 1})
merge (t1)-[tw:TD]->(t2)

Версия spring-boot-starter-data-neo4j: 1.5.7.RELEASE Версия neo4j: 3.5.1

Есть идеи?Спасибо.

...