2014-11-05 32 views
0

我希望爲每個繼承的節點類提供以下種類的基類。實現NodeEntity基類,標籤的含義

@NodeEntity 
public abstract class NodeEntityBase { 

// id is not used with advanced mapping spring-data-neo4j. 
@GraphId 
protected Long id; 

@Indexed(unique = true) 
@NotNull 
protected String appId; 

....

但是如果我實現了,彈簧數據的Neo4j將爲每個節點NodeEntityBase標籤。我並沒有真正將這個標籤用於任何事情,我擔心這是否會在以後出現性能問題(或其他問題)。我知道標籤索引中的條目限制了2億(int max),這可能會成爲一個問題,所以出於這個原因,我想解決這個問題。

有沒有很好的解決方法或設計來實現這一目標?我非常想擁有可以放置幾乎每個節點都繼承的屬性(如時間戳創建等)的基類。我知道我可以使用接口(如果接口也被標記過,我還沒有測試過),但是我只會更高興,因爲我不需要將setter/getters放到每個繼承類中。

當數百萬個節點會有性能下降嗎?我再說一遍,我不會使用該標籤進行查詢。 20億的限制可能夠大,所以我可以忘記這一點。

+0

的appid是更好地被@Indexed(唯一= TRUE,水平=實例),但這不是問題 – 2014-11-05 11:41:02

回答