0

私は春データのNeo4jとモデリングのこのタイプを表現したい:異なる種類

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でサポートされているすべてのタイプである場合は、オブジェクトをターゲットタイプとして使用できます。実際のインスタンスは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(); 

} 
関連する問題