2015-04-21 44 views
3

在Neo4J我有一個@NodeEntity Person如何在Spring Data Neo4J 3.0.0(Release)中爲節點添加第二個標籤?

我希望能夠還增加額外的標籤,如: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註釋以添加標籤?

我不知道如何:

  1. 參考查詢當前節點。
  2. 調用save()方法並創建節點後執行密碼。
+0

還有一個問題尚未解決。 [見](https://jira.spring.io/browse/DATAGRAPH-541) – troig

回答

2

如果您將域對象重新編碼爲支持繼承,SDN將根據繼承樹派生其他標籤。

如果您想要多個標籤,請擴展父類,您將獲得所需的標籤。

例如,如果

@NodeEntity 
public class User extends Customer { 

} 

會生成兩個標籤:用戶和:客戶。

請參閱Use @NodeEntity on interface/abstract class關於在Neo4j中使用抽象類。

相關問題