我有以下代码。问题是我无法找到任何有关如何将 OResult 提取/转换为我的 java 类型并获取 pojo 的文档。
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 中提取 OIdentABLE,然后使用 db.getUserObjectByRecord()
将其转换为 POJO:
OResult item = resultSet.next();
OIdentifiable doc = item.toElement();
Object pojo = db.getUserObjectByRecord(doc, null);
关于java - 如何从 OResultSet 获取 JAVA 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51040417/