我正在使用带有Java API的OrientDB。我收到此警告,但我不明白为什么:
必须在活动事务之外执行命令“创建顶点类型'Users'作为'V'的子类”:事务将被提交并紧随其后重新打开。为了避免这种行为,请在事务外部执行它
我的Java代码是:
OrientGraph graph = new OrientGraphFactory(databaseUrl).getTx();
graph.createVertexType(User.CLASS_NAME);
graph.createKeyIndex(User.MAIL_KEY, Vertex.class, new Parameter<>("type", "UNIQUE"),new Parameter<>("class", User.CLASS_NAME));
graph.commit();
graph.shutdown();
解决方案是使用与数据库的无事务连接。您的第一行应为:
OrientGraphNoTx graph = new OrientGraphFactory(databaseUrl).getNoTx();
OrientGraphNoTx对象支持与OrientGraph相同的创建顶点,边和类型的方法。请注意,您向该对象发出的命令将不是事务的一部分,而是将立即提交(因此,您不需要在提交的行中进行操作。不过,仍然需要关闭该行)。我建议您实现一种在启动过程中创建所需的顶点和边类型的方法,以免干扰正常操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句