java - 如何从 OResultSet 获取 JAVA 对象

标签 java orientdb orientdb2.2

我有以下代码。问题是我无法找到任何有关如何将 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/

相关文章:

Java 数组列表验证

neo4j - 图形数据库与三重存储 - 何时使用哪个?

etl - Orientdb 和传送器问题

php - OrientDB PHP/Gremlin 桥

orientdb - 使用 Traverse from 投影 OrientDB 中的记录

javascript - OrientDB HTTP REST Api 查询未经授权

java - 在 Pax-Exam 中使用 Jacoco

java - JDBC:查看查询是否成功?

java - 如何从 Java 类获取结果以显示在 Android Activity 中?

OrientDB ETL 加载 CSV,其中顶点在一个文件中,边在另一个文件中