当前位置: 首页 > 知识库问答 >
问题:

实体中的spring数据neo4j关系

梁渊
2023-03-14

图像我有以下实体:公司和员工,带有Spring数据neo4j注释:

Company.java

@NodeEntity(label = "Company")
public class Company {
    /**
     * Graph ID
     */
    @GraphId
    private Long id;
    ......
}

受雇者JAVA

@NodeEntity(label = "Employee")
public class Employee {
    /**
     * Graph ID
     */
    @GraphId
    private Long id;
    ......
}

然后是这些实体的关系实体:

@RelationshipEntity(type = "EMPLOY")
public class EmployRel {
    /**
     * Graph ID
     */
    @GraphId
    private Long id;
    @StartNode
    private Company company;
    @EndNode
    private Employee employee;
    ......
}

那么如何保留CompanyPerson中的引用呢?

Company.java

@Relationship(type = "EMPLOY", direction = Relationship.OUTGOING)
private Set<EmployRel> employeeRel = new HashSet<>();

@Relationship(type = "EMPLOY", direction = Relationship.OUTGOING)
private Set<Employee> employee = new HashSet<>();

人JAVA

@Relationship(type = "EMPLOY", direction = Relationship.INCOMING)
private Company company = new Company();

@Relationship(type = "EMPLOY", direction = Relationship.OUTGOING)
private EmployRel employRel = new EmployRel();

共有1个答案

丘普松
2023-03-14

你必须在Company中声明(通过雇员Rel雇员的传出关系)

@Relationship
public Set<EmployRel> employees = new HashSet<>();

雇员中的相反:

@Relationship(direction = Relationship.INCOMING)
public HashSet<EmployRel> isEmployedBy = new HashSet<>();

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

 类似资料:
  • 我希望像查询NodeEntity一样查询RelationshipEntity。 软件包信息: 此存储库不工作。 getEmployeeWorkingOnProject(String,String)返回NULL 我在关键字之后进行了修改,例如将其从修改为像这样的别名,并且还尝试更改了返回中别名的顺序。 我希望获得与特定员工和特定项目相关联的所有状态(边缘)。 或 或其他类型的类似结果,其中关系实体持

  • 在使用@RepositoryRestResource将域对象导出到Rest时,如何在Java中创建Neo4j关系?

  • 我正试图利用我的spring数据Neo4J4.0中的时间树库。0项目。 如本页所述,https://github.com/graphaware/neo4j-timetree,我编辑了我的neo4j。属性文件以启用自动事件附加,将时间树依赖项添加到my gradle,并在具有长数据类型的事件节点中设置属性“creationDate”。尽管一切看起来都应该如此,但它仍然没有创建任何时间树。 以下是我的

  • 在SpringDataNeo44中,我们只有,但例如,当我的UserEntity的属性(电子邮件)更改时,我不知道如何更新该属性。 我也尝试使用neo4j模板,但使用现有节点id保存实体会导致下面的回滚。 如何更新节点或节点属性?

  • Neo4j 2.0。0已发布。所以我更新了neo4j版本2.0。0.M6到2.0。0.0发布。并尝试在我的网站中更新模型,但出现异常。 组织。springframework。刀。DataIntegrityViolationException:唯一属性类java。lang.String rankStatId rel:false idx:true被设置为重复值3073631_99 MY SDN版本是2