如何从OResultSet获取JAVA对象
我有以下代码。问题是,我找不到任何关于如何将OResult提取/转换为java类型并获取pojo的文档如何从OResultSet获取JAVA对象,java,orientdb,orientdb2.2,Java,Orientdb,Orientdb2.2,我有以下代码。问题是,我找不到任何关于如何将OResult提取/转换为java类型并获取pojo的文档 OrientDBObject orientDBObject; try (ODatabaseObject databaseObjectInner = orientDBObject.open(dbName, username, password)) { specFromDB = getEntitySpecInt3(databaseObjectInner, objectId, rid
OrientDBObject orientDBObject;
try (ODatabaseObject databaseObjectInner = orientDBObject.open(dbName, username, password)) {
specFromDB = getEntitySpecInt3(databaseObjectInner, objectId, rid);
try (OResultSet resultSet = databaseObject.query(queryByRid)) {
if (!resultSet.hasNext()) {
return null;
}
Object specObj = resultSet.next();
// how to cast properly?
return (EntitySpec) specObj;
}
}
如何从OResult中强制转换或获取对象
谢谢。在OrientDB v 3.0中,您有两种方法可以做到这一点 简单的方法是:只需使用
db.objectQuery()
而不是db.query()
,它只返回POJO
第二种方法是从OResult中提取OIdentifiable,然后使用db.getUserObjectByRecord()
将其转换为POJO:
OResult item = resultSet.next();
OIdentifiable doc = item.toElement();
Object pojo = db.getUserObjectByRecord(doc, null);
谢谢@Luigi Dell'Aquila。db.objectQuery()就是我想要的!