最初的问题是基于加载类Extra以及具有相同查询的id。我希望将Extra类自动分配给POJO Extra,然后单独处理id。基本上是这样的:
String q = "SELECT *, out('ExtraToObject').@rid as objectId FROM Extra";
List<ODocument> extras= db.getUnderlying().command(new OSQLSynchQuery<>(q)).execute();
for (ODocument extra : extras) {
Extra extraPOJO = ODocumentToPojo(ODocument, Extra.class);
String id = extra.field("objectId");
//Do stuff
}
我的问题是我不知道如何将ODocument转换为POJO,即ODocumentToPojo函数,而不进行任何数据库连接。
String q = "SELECT *, out('ExtraToObject').@rid as objectId FROM Extra";
List<Extra> extras= db.command(new OSQLSynchQuery<>(q)).execute();
但是我无法获得objectId。如果不是绝对必要的话,我也不想自己遍历ODocument,因为两者之间的映射应该已经存在。有什么想法吗?
答案 0 :(得分:0)
如果您只想从pojo获取rid
,可以将其定义为字段:
@Id
private Object rid;
public Object getRid() {
return rid;
}
如果您需要对话,请在documentation中说明:
Object pojo = db.getUserObjectByRecord(record);
ODocument doc = db.getRecordByUserObject( pojo );