0

このタイプのモデリングを Spring Data 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 でそれを行う可能性はありますか?

ありがとうございました。

4

2 に答える 2

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() {
    }
}
于 2012-03-13T23:40:10.907 に答える
0

ジェネリックは使えないの?

Property<T> {

...
T value();

}
于 2012-03-11T21:09:44.707 に答える