如何在neo4j ogm中实现复合约束或等效的“节点密钥”?

时间:2017-07-30 06:37:32

标签: neo4j neo4j-ogm

我正在使用Neo4j OGM 2.1.3版。

我曾经在特定属性上使用@Index (unique=true, primary=true),并且在执行session.save(obj)时工作正常。

根据唯一约束,它能够正确执行CREATEMERGE。但是,现在我需要一个跨越3个不同属性的复合约束。

由于我找不到使用OGM指定复合索引的方法,我在代码之外的那3个属性/属性上指定了IS NODE KEY约束(在Neo4j shell上直接执行CYPHER)。

现在,在我尝试执行session.save(domainObj)时添加关系后,我现在得到Node already exists with ...异常,因为ogm尝试执行CREATE查询而不是MERGE }。

如何提供OGM的提示,以便不构建CREATE而是构建MERGE

或者换句话说,有没有办法在OGM中指定复合约束,以便我可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

不幸的是,目前不支持此功能(neo4j-ogm 2.1.x和即将发布的3.0.0)。

请随时在https://github.com/neo4j/neo4j-ogm/issues创建功能请求。