我们一直在努力动态创建顶点,同时将其添加到新创建的类中,并在多线程环境中使用常规蓝图查询为其添加边,因为某些缓存会导致问题,并且每次进行查询时都会查找旧版本的顶点。我们尝试通过(graph.getrawGraph().getLocalCache().clear())从池中获取连接后禁用本地缓存
但这似乎在某些情况下有效。无论我们在哪里进行更新,我们都在使用事务和重试机制(以克服并发问题)。但不知何故,在某些地方旧版本被捕获,因此应用程序抛出空指针异常。
为了解决顶点存在的问题,我们使用命令直接通过选择查询触发来查询数据库: Iterable nodes = (Iterable) graph.command(new OCommandSQL("SELECT * FROM v WHERE " + propName + "='" + propValue + “' “))。执行();
不知何故,这很好用。但是现在这个查询返回给我们类 value = null 的顶点为:v(null)[some@Rid],但实际上在创建后理想情况下它也应该带有类名。这为向该顶点添加边造成了困难。请在这方面启发我们,因为可以推荐哪些程序来处理这些情况。
谢谢并恭祝安康
瓦伦塔欣