2016-01-02 6 views
5

मैं एक OrientDB दस्तावेज/वस्तु या ग्राफ़ ऑब्जेक्ट को उसके रिकार्ड आईडी का उपयोग कर पुनः प्राप्त करते हैं? (भाषा: जावा)मैं जावा में रिकॉर्ड आईडी द्वारा OrientDB Vertex ग्राफ ऑब्जेक्ट से कैसे क्वेरी करूं?

मैं http://orientdb.com/docs/2.0/orientdb.wiki/Tutorial-Record-ID.html और Vertex.getId()/Edge.getId() विधियों का जिक्र कर रहा हूं।

यह सिर्फ एक SQL क्वेरी की तरह "atable से कहां आईडी = 1 * का चयन करें" है।

उपयोग/उद्देश्य विवरण: मैं के बाद यह OrientDB द्वारा बनाई गई है उत्पन्न ID की दुकान, और बाद में एक ही आईडी का उपयोग कर एक ही वस्तु प्राप्त करना चाहते हैं।

उत्तर

1

(1) मैं OrientDB 2.1, और इसके प्रलेखन, उदा का उपयोग कर सुझाव देंगे http://orientdb.com/docs/2.1/Tutorial-Record-ID.html

(2) आपकी पोस्ट से, यह स्पष्ट नहीं है कि आपको किसी प्रश्न के परिणामों से आरआईडी प्राप्त करने में मदद की आवश्यकता है या फिर आरआईडी दिए गए ऑब्जेक्ट को पुनर्प्राप्त करने की आवश्यकता है, तो मुझे यह उल्लेख करके शुरू करना चाहिए कि पूर्व को पूरा किया जा सकता है जैसा कि इस उदाहरण के रूप में रेखांकित (एक सम्मिलित करें क्वेरी के मामले में):

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 की एक चयन करें क्वेरी को निष्पादित करने के लिए, इस उदाहरण की तर्ज पर:

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

(3) व्यवहार में, यह आमतौर पर जब समर्थित प्रोग्रामिंग भाषाओं में से किसी का उपयोग कर कुछ अन्य OrientDB कोने और किनारों पर "संभाल" जावा कोड में, या वास्तव में उपयोग करने के लिए बेहतर होगा। उदाहरण के लिए, एक बार एक एक जावा Vertex के रूप में एक शीर्ष है, ऊपर "वर्टेक्स वी" उदाहरण के रूप में, एक आम तौर पर इसका इस्तेमाल कर सकते हैं।

संबंधित मुद्दे