Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实体中的spring数据neo4j关系_Neo4j_Spring Data Neo4j_Spring Data Neo4j 4 - Fatal编程技术网

实体中的spring数据neo4j关系

实体中的spring数据neo4j关系,neo4j,spring-data-neo4j,spring-data-neo4j-4,Neo4j,Spring Data Neo4j,Spring Data Neo4j 4,图I具有以下实体:公司和员工,带有spring数据neo4j注释: Company.java @NodeEntity(label = "Company") public class Company { /** * Graph ID */ @GraphId private Long id; ...... } @NodeEntity(label = "Employee") public class Employee { /**

图I具有以下实体:公司和员工,带有spring数据neo4j注释:

Company.java

@NodeEntity(label = "Company")
public class Company {
    /**
     * Graph ID
     */
    @GraphId
    private Long id;
    ......
}
@NodeEntity(label = "Employee")
public class Employee {
    /**
     * Graph ID
     */
    @GraphId
    private Long id;
    ......
}
@Relationship(type = "EMPLOY", direction = Relationship.OUTGOING)
private Set<EmployRel> employeeRel = new HashSet<>();
@Relationship(type = "EMPLOY", direction = Relationship.INCOMING)
private Company company = new Company();
Employee.java

@NodeEntity(label = "Company")
public class Company {
    /**
     * Graph ID
     */
    @GraphId
    private Long id;
    ......
}
@NodeEntity(label = "Employee")
public class Employee {
    /**
     * Graph ID
     */
    @GraphId
    private Long id;
    ......
}
@Relationship(type = "EMPLOY", direction = Relationship.OUTGOING)
private Set<EmployRel> employeeRel = new HashSet<>();
@Relationship(type = "EMPLOY", direction = Relationship.INCOMING)
private Company company = new Company();
然后是这些实体的关系实体:

@RelationshipEntity(type = "EMPLOY")
public class EmployRel {
    /**
     * Graph ID
     */
    @GraphId
    private Long id;
    @StartNode
    private Company company;
    @EndNode
    private Employee employee;
    ......
}
那么,如何在
公司
个人
中保留引用

Company.java

@NodeEntity(label = "Company")
public class Company {
    /**
     * Graph ID
     */
    @GraphId
    private Long id;
    ......
}
@NodeEntity(label = "Employee")
public class Employee {
    /**
     * Graph ID
     */
    @GraphId
    private Long id;
    ......
}
@Relationship(type = "EMPLOY", direction = Relationship.OUTGOING)
private Set<EmployRel> employeeRel = new HashSet<>();
@Relationship(type = "EMPLOY", direction = Relationship.INCOMING)
private Company company = new Company();


您必须在
公司
中申报(通过
员工EL
员工
的离职关系)


请注意,这里您选择了使关系在双方都可导航,但这不是强制性的。它还可以让它只从
公司
员工

导航,那么在方向上使用
无方向
如何?
无方向
是一个语义问题。假设你有一个
伙伴关系
:你实际上不在乎方向,所以在这种情况下你可以使用
无方向
。它的工作原理与定向关系相同。谢谢,我知道这个方向语义,对于我的案例,也许你需要阅读我的另一个问题,请看-,在这个问题中,公司可以是“投资者”和“被投资方”,因此将有公司-[:投资]-公司关系,这对我来说真的很无聊。我在那里贴了一条评论