在Neo4J中我有@NodeEntity Person
。
我希望能够添加其他标签,例如:USER
,:CUSTOMER
,:OWNER
,:AGENT
等。
似乎spring-data-neo4j:3.0.0-RELEASE
支持@Labels
注释,但在尝试使用时会得到NullPointerException
。
@NodeEntity
public class Person {
@GraphId
Long id
@Indexed(unique=true)
String email
@Labels // <- Seems this is unsupported.
private Collection<String>labels
public void addLabel(String label) {
this.labels.add(label) // <- NullPointer thrown here.
}
}
我认为这是因为它尚未得到支持。如果确实如此,有人会给我一个如何通过更新其背后的存储库来实现相同结果的示例,添加手动@Query
注释来添加标签吗?
我不确定如何:
答案 0 :(得分:2)
如果您重新构建域对象以支持继承,SDN将根据继承树派生其他标签。
如果您想要多个标签,请扩展父类,您将拥有所需的标签。
例如,如果
@NodeEntity
public class User extends Customer {
}
将生成两个标签:User和:Customer。
有关使用Neo4j的抽象类,请参阅Use @NodeEntity on interface/abstract class。