Spring数据Neo4j 4中的唯一索引
如何确保唯一性:Spring数据Neo4j 4中的唯一索引,spring,indexing,neo4j,spring-data,spring-data-neo4j,Spring,Indexing,Neo4j,Spring Data,Spring Data Neo4j,如何确保唯一性: 对于图实体的属性 用于同时组合多个属性 目前我使用SDN 4.0.0.RC2。我看SDN4现在似乎不支持这个功能(但将来会支持)。我理解对了吗 对于图实体的属性 使用cypher在属性上创建(可能是唯一的)索引: CREATE INDEX ON :Person(name) 唯一索引(又名约束): 从 您可以在引导spring上下文时自动执行此操作: @Component public class IndexCreator { @Autowired Neo
- 对于图实体的属性
- 用于同时组合多个属性
CREATE INDEX ON :Person(name)
唯一索引(又名约束):
从
您可以在引导spring上下文时自动执行此操作:
@Component
public class IndexCreator {
@Autowired
Neo4jTemplate neo4jTemplate;
@PostConstruct
public void createIndexes() {
try {
neo4jTemplate.execute("CREATE INDEX ON :Person(name)", null);
} catch (Exception ex) {
// index already exists?
}
}
}
用于同时组合多个属性
这是不直接支持的。您可以将多个属性合并为一个属性,并在该属性上创建索引(同时保持原始属性能够访问它们)。或者(正如Michael所指出的),您可以使用数组属性存储多个值。谢谢!您能否澄清如何在spring上下文引导期间执行cypher语句?您可以使用数组属性作为复合索引workaround@MichaelHunger你能举一个例子来说明“数组属性”是什么意思吗?它比将多个属性合并为一个属性更好吗?
@Component
public class IndexCreator {
@Autowired
Neo4jTemplate neo4jTemplate;
@PostConstruct
public void createIndexes() {
try {
neo4jTemplate.execute("CREATE INDEX ON :Person(name)", null);
} catch (Exception ex) {
// index already exists?
}
}
}