我刚创建了一个包含UniqueNodeFactory的节点以及他与UniqueRelationshipFactory的关系。我删除了NeoEclipse的节点,然后我尝试重新创建相同的节点,我没有得到任何异常,节点也没有重新创建。谁知道这种情况正在发生?
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);
}
答案 0 :(得分:0)
我无法重现您的问题。我得到的是第二次创建了一个新节点。但它有助于完整的源代码。并且还尝试使用UniqueNodeFactory上的方法“getOrCreateWithOutcome”来查看它是否已创建。