0

我要代表這個類型的建模與Spring數據的Neo4j:不同類型不同RelationshipEntities

Object ------Value------> Property 

...其中ObjectPropertyNodeEntity,並在ValueRelationshipEntity

例如:

Car1 ------String value="Ford"------> Brand 
Car1 ------int value=20000------> Cost 
Car2 ------int value=30000------> Cost 
Car2 ------boolean value=true------> HasWheels 

我知道,我必須直接把所有這些性能在汽車節點的可能性。但是我希望將這種建模用於將來的圖形遍歷優化。它應該是這樣的:

@RelationshipEntity(type="PROPERTY_VALUE") 
public class PropertyValue { 
    @GraphId Long id; 
    @StartNode Car car; 
    @EndNode Property property; 

    <???value_type???> value; 

    public PropertyValue() { 
    } 
} 

的問題是,我不知道我要使用的value財產類型。 Spring Data Neo4j有沒有可能做到這一點?

謝謝。

回答

2

如果您的類型是Neo4j支持的所有類型,則可以使用Object作爲目標類型。然後實際的實例將被存儲爲Neo4j中的適當類型。

@RelationshipEntity(type="PROPERTY_VALUE") 
public class PropertyValue { 
    @GraphId Long id; 
    @StartNode Car car; 
    @EndNode Property property; 

    @GraphProperty 
    Object value; 

    public PropertyValue() { 
    } 
} 
0

你不能使用泛型?

Property<T> { 

... 
T value(); 

}