Java 发送至POJO的气味文件

Java 发送至POJO的气味文件,java,orientdb,Java,Orientdb,最初的问题是基于加载具有相同查询的额外类和id。我希望类Extra自动分配给pojoextra,然后单独处理id。基本上是这样的: String q = "SELECT *, out('ExtraToObject').@rid as objectId FROM Extra"; List<ODocument> extras= db.getUnderlying().command(new OSQLSynchQuery<>(q)).execute(); for (ODocume

最初的问题是基于加载具有相同查询的额外类和id。我希望类Extra自动分配给pojoextra,然后单独处理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
}
String q=“SELECT*,out('ExtraToObject')。@rid as objectId FROM Extra”;
List extras=db.getunderground().command(新的OSQLSynchQuery(q)).execute();
用于(气味文件额外:额外){
Extra extraPOJO=ODocumentToPojo(OdoDocument,Extra.class);
字符串id=extra.field(“objectId”);
//做事
}
我的问题是,我不知道如何将ODocument转换为POJO,即ODocumentToPojo函数,而不进行任何数据库连接

String q = "SELECT *, out('ExtraToObject').@rid as objectId FROM Extra";
List<Extra> extras= db.command(new OSQLSynchQuery<>(q)).execute();
String q=“SELECT*,out('ExtraToObject')。@rid as objectId FROM Extra”;
List extras=db.command(新的OSQLSynchQuery(q)).execute();

但是我不能得到目标。如果不是绝对必要的话,我也不想自己循环使用OdoDocument,因为两者之间的映射应该已经存在。有什么想法吗?

如果您只想从pojo获得
rid
,您可以将其定义为字段:

@Id
private Object rid;

public Object getRid() {
    return rid;
}
如果您需要对话,请参见:

Object pojo = db.getUserObjectByRecord(record);
ODocument doc = db.getRecordByUserObject( pojo );