我正在使用Neo4j OGM版本2.1.3。如何在neo4j ogm中实现复合约束或等价的“is node key”?
我曾经有一个@Index (unique=true, primary=true)
对一个特定的属性和事情工作正常时,执行session.save(obj)
。
基于唯一约束,它能够正确执行CREATE
或MERGE
。但是,现在我需要一个跨越3个不同属性的复合约束。
因为我找不到使用OGM指定组合索引的方法,所以我在代码之外的这3个属性/属性上指定了一个IS NODE KEY
约束(直接在Neo4j shell上执行CYPHER)。
现在,加入了关系后,当我尝试执行session.save(domainObj)
,我现在得到一个Node already exists with ...
异常,因为OGM试图执行一个CREATE
查询,而不是一个MERGE
。
如何向OGM提供建议,以便不构建CREATE
而是MERGE
?
换句话说,是否有一种方法可以在OGM中指定复合约束条件,以便我可以解决这个问题?