spring-data-neo4j 6.0.6 一对多查询问题
发布于 6 个月前 作者 LongStockingPipi 440 次浏览 来自 问答

同志们好,最近遇到一个问题,数据模型:[TABLE] - [INPUT] -> [JOB],其中job是多个的,然后在Spring-data-neo4j中,通过TABLE.name查询这个关系的时候,出来的JOB始终是一条,也就是说,多的一方只能返回一条,最开始我以为是因为ID重复了,但是我用的是 @GeneratedValue,不可能重复(实际上也没有重复),程序试了好多写法,都不见效; [TABLE]定义: @Node(“TABLE”) public class Table {

@Id @GeneratedValue private Long nodeId;

@Relationship(type = “INPUT”, direction = Relationship.Direction.OUTGOING) private Set<Input> inputs;

… }

[JOB]定义: @Node(“JOB”) public class Job {

@Id @GeneratedValue private Long id;

… }

[INPUT]定义: @RelationshipProperties public class Input {

@Id @GeneratedValue private Long id;

@TargetNode private Job job;

… }

Repository定义: @Query(“MATCH p = (n:TABLE {name:{0}}) - [l:INPUT] -> (m:JOB) RETURN n, l, m”) List

queryTableAndJobByName(String name);

@Query(“MATCH p = (n:TABLE {name:{0}}) - [l:INPUT] -> (m:JOB) RETURN p”) List

queryTableAndJobByName(String name);

两种都试过

回到顶部