我正在使用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;
}
}
我正在使用@Indexed
来使用网址中的id
属性。是否有可能将此字段设置为 unique ? (如在RDBMS中)
现在我可以创建许多具有相同ID的用户:
Neo4jTemplate template;
...
template.save(new User("testid"));
template.save(new User("testid"));
我想在第二个save
上例外,或者至少我要替换数据库中的第一个用户。
谢谢。
答案 0 :(得分:3)
我问Stack Overflow。在同一天a new Spring-Data-Neo4j milestone is released ...修复了DATAGRAPH-181问题,并添加了对唯一索引的支持。
只需要像这样注释字段:
@Indexed(unique=true)
答案 1 :(得分:0)
可以使用@GraphId吗?