我使用Spring Data,Neo4j和Jackson來提供JSON API。我有一個簡單的用戶類是這樣的:NodeEntity的唯一約束條件
@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;
}
}
我使用@Indexed
使用在URL中id
屬性。是否有可能將此字段設置爲唯一? (如在RDBMS)
現在我可以用相同的ID創建多個用戶:
Neo4jTemplate template;
...
template.save(new User("testid"));
template.save(new User("testid"));
我想在第二save
或者,至少一個例外,我想更換DB中的第一個用戶。
謝謝。
看來,'@ Graphid's是自動生成的(只有'Long')。我想自己設置ID。 – 2012-03-02 16:42:46
http://static.springsource.org/spring-data/data-neo4j/docs/2.0.0.RC1/api/org/springframework/data/neo4j/annotation/GraphId.html說:「字段的類型應該很長「,手段是否也可以是其他類型? ^^ – hilbert 2012-03-02 18:33:05