如何在 Spring Data Neo4J 3.0.0(发行版)中向节点添加第二个标签?
How do I add a second label to a node in Spring Data Neo4J 3.0.0 (Release)?
在 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
注释来添加标签来实现相同的结果?
我不确定如何:
- 在查询中引用当前节点。
- 在调用 save() 方法并创建节点后执行密码。
如果您重构域对象以支持继承,SDN 将基于继承树派生出额外的标签。
如果您需要多个标签,请扩展父标签 类,您将获得所需的标签。
例如,如果
@NodeEntity
public class User extends Customer {
}
将生成两个标签:User 和:Customer。
请参阅 ,了解如何将抽象 类 与 Neo4j 结合使用。
在 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
注释来添加标签来实现相同的结果?
我不确定如何:
- 在查询中引用当前节点。
- 在调用 save() 方法并创建节点后执行密码。
如果您重构域对象以支持继承,SDN 将基于继承树派生出额外的标签。
如果您需要多个标签,请扩展父标签 类,您将获得所需的标签。
例如,如果
@NodeEntity
public class User extends Customer {
}
将生成两个标签:User 和:Customer。
请参阅