2013-08-27 26 views

cevap

1

POJO'lar yerine (projem için çalışan) ODocuments kullanarak çalıştım. Kod örneği:

ODatabaseDocumentTx db = null; 
    ODocument   doc = null; 

    db = new ODatabaseDocumentTx("local:" + System.getProperty("user.home") + "/testDB"); 
    db.create(); 
    doc = new ODocument("Person"); 
    doc.field("name", "Peter"); 
    doc.save(); 
    String rid = doc.getIdentity().toString(); 
    List<ODocument> results = db.query(new OSQLSynchQuery<ODocument>("select from " + rid)); 
    for (ODocument aDoc : results) { 
     System.out.println(aDoc.field("name")); 
    } 
    db.close(); 
1

Alternatif OObjectDatabaseTx ait getRecordByUserObject() yararlanabilir,

OObjectDatabaseTx db = new OObjectDatabaseTx("local:" + System.getProperty("user.home") + "/testDB"); 

ODocument oDocument = db.getRecordByUserObject(person, true); 
oDocument.save(); 

String rid = oDocument.getIdentity().toString(); 
3

pojo alanına tanımlayın:

@Id 
private Object rid; 

public Object getRid() { 
    return rid; 
} 

zaman tasarrufu:

YourClass proxy = db.save(yourClassInstance); 
Object rid = proxy.getRid(); 
0

Eğer zaten bir Proxy nesnesini kaydetme noktasından yararlanarak, bir kayıt kimliği (Identity) olan temel ODocument nesnesini elde etmek için tamamen bir döküm işlemi yapabilirsiniz.

Person proxyPerson = db.save(person); 

ODocument oDocument = ((OObjectProxyMethodHandler)((ProxyObject)proxyPerson).getHandler()).getDoc(); 
person.setId(oDocument.getIdentity().toString()); 
+0

Sebebi ne olursa olsun JPA ek açıklamaları kullanamazsınız durumunda yararlıdır. – 11101101b

2

Burada sadece basit kod şudur:

//insertquery will be the sql statement you want to insert 

    ODocument result=db.command(new OCommandSQL(insertquery)).execute(); 

    System.out.println(result.field("@rid")); 
+1

Ayrıca, bir işlemin ortasında iseniz, result.field ("@ rid") 'in gerçek RecordID değerini döndürmeyeceğini (# -1: -2 gibi bir şey döndürdüğünü) belirtmek gerekir. İşlem yapıldıktan sonra doğru değeri döndürecektir. – Zsolti

İlgili konular