SDN参数化RelationshipEntity类型

时间:2018-11-29 09:54:24

标签: neo4j spring-data-neo4j neo4j-ogm

为了创建Task from nested launch,我必须使用以下构造:

RelationshipEntity

我有一个问题-是否可以参数化@RelationshipEntity(type = "PLAYED_IN") public class Role { @Id @GeneratedValue private Long relationshipId; @Property private String title; @StartNode private Actor actor; @EndNode private Movie movie; } 类型?现在,在上面的示例中,我们已经对RelationshipEntity类型进行了硬编码,但是我需要使用许多其他类型,例如PLAYED_INDIRECTOR_IN等。如何在没有为此目的引入单独的WRITER_IN类的情况下使用SDN实现它?

一个可能的解决方案是将作业类型定义为RelationshipEntity属性,但是我不确定这是一个好主意,因为我有大约3000万个实体,并且AFAIK Neo4j不支持RelationshipEntity属性上的索引。 ..请告知。

1 个答案:

答案 0 :(得分:1)

如何依靠具有通用基础的抽象类并从中继承每个必要的角色?

abstract class BaseRelationship {
  @Id
  @GeneratedValue
  private Long relationshipId;

  @Property  
  private String title;

  [...]
}

@RelationshipEntity(type = "PLAYED_IN")
public class Role extends BaseRelationship {
  [...]
}