Neo4j Can';无法使用UniqueNodeFactory重新创建刚删除的节点
我刚刚创建了一个与UniqueNodeFactory的节点,以及他与UniqueRelationshipFactory的关系。我用NeoEclipse删除了节点,然后我尝试重新创建同一个节点,我没有得到任何异常,并且该节点不再重新创建。有人知道这是怎么回事吗Neo4j Can';无法使用UniqueNodeFactory重新创建刚删除的节点,neo4j,node-neo4j,Neo4j,Node Neo4j,我刚刚创建了一个与UniqueNodeFactory的节点,以及他与UniqueRelationshipFactory的关系。我用NeoEclipse删除了节点,然后我尝试重新创建同一个节点,我没有得到任何异常,并且该节点不再重新创建。有人知道这是怎么回事吗 public Node getOrCreateNodeWithUniqueFactory(final Index<Node> nodeIndex, final String indexableKey,final String i
public Node getOrCreateNodeWithUniqueFactory(final Index<Node> nodeIndex, final String indexableKey,final String indexableValue) {
UniqueFactory<Node> factory = new UniqueFactory.UniqueNodeFactory( Global.graphDB.getGraphDbService(), nodeIndex.getName())
{
@Override
protected void initialize(Node created, Map<String, Object> properties) {
created.setProperty(indexableKey, properties.get(indexableKey));
}
};
return factory.getOrCreate( indexableKey, indexableValue );
}
public Relationship getOrCreateRelationshipTypeWithUniqueFactory(Index<Relationship> index, String indexableKey, final String indexableValue,
final RelationshipType type, final Node start, final Node end) {
UniqueFactory<Relationship> factory = new UniqueFactory.UniqueRelationshipFactory(index) {
@Override
protected Relationship create(Map<String, Object> properties) {
Relationship r = start.createRelationshipTo(end, type);
return r;
}
};
return factory.getOrCreate(indexableKey, indexableValue);
}
public节点getOrCreateNodeWithUniqueFactory(最终索引nodeIndex、最终字符串indexableKey、最终字符串indexableValue){
UniqueFactory=new UniqueFactory.UniqueNodeFactory(Global.graphDB.getGraphDbService(),nodeIndex.getName())
{
@凌驾
受保护的void初始化(创建节点,映射属性){
created.setProperty(indexableKey,properties.get(indexableKey));
}
};
返回factory.getOrCreate(indexableKey,indexableValue);
}
公共关系getOrCreateRelationshipTypeWithUniqueFactory(索引索引、字符串索引键、最终字符串索引值、,
最终关系类型、最终节点开始、最终节点结束){
UniqueFactory工厂=新的UniqueFactory.UniquerRelationshipFactory(索引){
@凌驾
创建受保护的关系(映射属性){
关系r=start.createRelationshipTo(end,type);
返回r;
}
};
返回factory.getOrCreate(indexableKey,indexableValue);
}
我无法重现您的问题。我得到的是第二次创建了一个新节点。但它将有助于完整的源代码。还可以尝试在UniqueNodeFactory上使用“GetOrCreateWithOutput”方法,查看是否创建了该节点。能否发布创建节点的完整代码,以及最后检查是否未重新创建该节点的代码?