我正在使用Neo4j OGM 2.1.3版。
我曾经在特定属性上使用@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中指定复合约束,以便我可以解决这个问题?
答案 0 :(得分:0)
不幸的是,目前不支持此功能(neo4j-ogm 2.1.x和即将发布的3.0.0)。
请随时在https://github.com/neo4j/neo4j-ogm/issues创建功能请求。