如何使用记录ID检索OrientDB文档/对象或图形对象?(语言:Java)
我指的是http://orientdb.com/docs/2.0/orientdb.wiki/Tutorial-Record-ID.html和Vertex.getId()/ Edge.getId()方法。
就像SQL查询“ SELECT * from aTable WHERE ID = 1”一样。
用途/用途描述:我想在OrientDB创建生成的ID之后存储它,然后再使用相同的ID检索相同的对象。
(1)我建议使用OrientDB 2.1及其文档,例如http://orientdb.com/docs/2.1/Tutorial-Record-ID.html
(2)从您的帖子中,我不清楚您是否需要帮助从查询结果中获取RID,或者需要获取具有其RID的对象,因此,我首先要提到前者可以如本例所示完成(对于INSERT查询):
ODocument result=db.command(new OCommandSQL(<INSERTQUERY>)).execute();
System.out.println(result.field("@rid"));
相反,有几种方法。我已验证使用2.1.8版可以执行以下操作:
OrientGraph graph = new OrientGraph("plocal:PATH_TO_DB", "admin", "admin");
Vertex v = graph.getVertex("#16:0");
另一种更通用的方法是按照SELECT FROM :RID
以下示例构造并执行形式的SELECT查询:
List<ODocument> results = db.query(new OSQLSynchQuery<ODocument>("select from " + rid));
for (ODocument aDoc : results) {
System.out.println(aDoc.field("name"));
}
(3)实际上,通常最好在Java代码的OrientDB顶点和边上使用其他“句柄”,或者在使用任何受支持的编程语言时更好。例如,一旦拥有一个顶点作为Java Vertex
,如上面的“ Vertex v”示例中所示,通常就可以使用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句