2016-01-02 13 views
5

にはどうすればそのレコードのIDを使用してOrientDBドキュメント/オブジェクトまたはグラフオブジェクトを取得していますか? (言語:Java)は、どのように私はJavaでのレコードIDでOrientDB頂点グラフオブジェクトを照会していますか?

http://orientdb.com/docs/2.0/orientdb.wiki/Tutorial-Record-ID.htmlとVertex.getId()/ Edge.getId()メソッドを参照しています。

これは、SQLクエリ「SELECT * from aTable WHERE ID = 1」と同じです。

説明/用途説明:生成されたIDは、OrientDBによって作成された後に格納し、後で同じIDを使用して同じオブジェクトを取得します。

答えて

1

(1)Iは、例えば、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")); 

、いくつかのアプローチがあります。代替とより一般的なアプローチは、この例の線に沿って、フォームSELECT FROM :RIDのSELECTクエリを作成し、実行することです

OrientGraph graph = new OrientGraph("plocal:PATH_TO_DB", "admin", "admin"); 
Vertex v = graph.getVertex("#16:0"); 

:私は、次のバージョン2.1.8を使用して作業を行うことを確認した

List<ODocument> results = db.query(new OSQLSynchQuery<ODocument>("select from " + rid)); 
for (ODocument aDoc : results) { 
    System.out.println(aDoc.field("name")); 
} 

(3)実際には、Javaコード内のOrientDBの頂点とエッジで、またはサポートされているプログラミング言語を使用しているときに、実際には他の「ハンドル」を使用する方がよいでしょう。例えば、かつて1は、上記の「頂点V」の例のように、1は通常、それを使用することができ、JavaのVertexとして頂点を持っています。

関連する問題