实体中的spring数据neo4j关系
图I具有以下实体:公司和员工,带有spring数据neo4j注释: Company.java实体中的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 { /**
@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
与员工
的离职关系)
请注意,这里您选择了使关系在双方都可导航,但这不是强制性的。它还可以让它只从
公司
或员工
导航,那么在方向上使用无方向
如何?无方向
是一个语义问题。假设你有一个伙伴关系
:你实际上不在乎方向,所以在这种情况下你可以使用无方向
。它的工作原理与定向关系相同。谢谢,我知道这个方向语义,对于我的案例,也许你需要阅读我的另一个问题,请看-,在这个问题中,公司可以是“投资者”和“被投资方”,因此将有公司-[:投资]-公司关系,这对我来说真的很无聊。我在那里贴了一条评论