Как получить объект JAVA из OResultSet - PullRequest
0 голосов
/ 26 июня 2018

У меня есть следующий код. И проблема в том, что мне не удалось найти какую-либо документацию о том, как извлечь / привести 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?

Спасибо.

1 Ответ

0 голосов
/ 26 июня 2018

В OrientDB v 3.0 у вас есть два способа сделать это.

Самый простой: просто используйте db.objectQuery() вместо db.query(), он просто возвращает POJO.

Второй способ - извлечь OIdentifiable из OResult и затем использовать db.getUserObjectByRecord() для преобразования его в POJO:

OResult item = resultSet.next();
OIdentifiable doc = item.toElement();
Object pojo = db.getUserObjectByRecord(doc, null);
...