我正在设计一个信标网络,其中信标彼此相邻,使用 Neo4j 数据库,其中它具有一个实体和一个关系类。我需要检索两个信标之间的关系,但无法弄清楚如何。这是两个类灯塔类public class Beacon { @Id private String MAC; private String description; private String location; @Relationship(type = "ADJACENT") private List<Adjacent> adjacentList = new ArrayList<>(); public Beacon() { } public Beacon(String MAC, String description, String location) { this.MAC = MAC; this.description = description; this.location = location; } public void addAdjacency(Adjacent adjacent){ if (this.adjacentList==null){ this.adjacentList=new ArrayList<>(); } this.adjacentList.add(adjacent); }//Getters and Setters are excluded}相邻关系类public class Adjacent { @Id @GeneratedValue private Long id; private int angle; private int cost; @StartNode private Beacon startBeacon; @EndNode private Beacon endBeacon; public Adjacent() { } public Adjacent(int angle, int cost, Beacon startBeacon, Beacon endBeacon) { this.angle = angle; this.cost = cost; this.startBeacon = startBeacon; this.endBeacon = endBeacon; }//Getters and Setters are excluded}我已经尝试创建一个存储库并进行检索,但即使查询在 Neo4j 浏览器中有效,它也不会在此处检索任何数据,只是空白括号。public interface AdjacentRepository extends Neo4jRepository<Adjacent,Long> {@Query("match (b:Beacon{MAC:\"f:f:f:f\"})-[a:ADJACENT]-(c:Beacon{MAC:\"r:r:r:r\") return a") Adjacent findaRelationshipp();}任何帮助是极大的赞赏。
1 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
您需要return *
,否则return a, b, c
OGM 可以推断出将查询响应映射到您的对象模型所需的所有详细信息。
查询在 Neo4j 浏览器中起作用的原因是因为它会自动修改您的查询以扩展相邻路径,在本例中为 Beacon 对象。
添加回答
举报
0/150
提交
取消