1

Spring Data、Neo4j、Jackson を使用して JSON API を提供しています。次のような単純な User クラスがあります。

@NodeEntity
@JsonAutoDetect(JsonMethod.NONE)
public class User {
    @GraphId Long internalId;
    @Indexed String id;

    public User() {}

    public User(String id) {
        this.id = id;
    }

    @JsonProperty
    public String getId() {
        return this.id;
    }
}

URLで属性@Indexedを使用しています。このフィールドを一意idに設定する可能性はありますか? (RDBMS のように)

これで、同じ ID を持つ多くのユーザーを作成できます。

Neo4jTemplate template;
...
template.save(new User("testid"));
template.save(new User("testid"));

2 番目に例外を設定するsaveか、少なくとも DB の最初のユーザーを置き換えたいと考えています。

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

4

2 に答える 2

3

Stack Overflow で質問します。同じ日に、新しい Spring-Data-Neo4j マイルストーンがリリースされました... DATAGRAPH-181の問題を修正し、一意のインデックスのサポートを追加します。

次のようにフィールドに注釈を付けるだけです。

@Indexed(unique=true) 
于 2012-03-03T14:20:18.630 に答える
0

そのために @GraphId を使用することは可能ですか?

于 2012-03-02T15:39:16.387 に答える