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
Есть идеи?Спасибо.