Запись вершины в OrientDB с помощью оболочки gremlin-scala

Я использую "com.michaelpollmeier" %% "gremlin-scala" % "3.2.0.1" вместе с "com.michaelpollmeier" % "orientdb-gremlin" % "3.2.0-incubating.1-SNAPSHOT" хранить некоторые доменные объекты как вершины в OrientDB (v2.1.20)

Я понимаю, что это довольно устаревший код, но я бы хотел, чтобы некоторые указатели поняли, почему драйвер выдает это исключение:

Вызывается: com.orientechnologies.orient.core.exception.ODatabaseException: Ошибка при десериализации Serializable в com.orientechnologies.orient.core.serialization.serializer.record.binary.OSerializableWrapper.fromStream(OSerializableWrapper.java:47) в com. aimtechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readSingleValue(ORecordSerializerBinaryV0.java:382) ... еще 13 причин: java.lang.ClassNotFoundException: com.esc.domain.Address

Любая подсказка будет очень цениться относительно того, что происходит:)

Бест, Эдоардо

1 ответ

В конце концов нашел причину (см. Проблему в github) в макросе Scala, используемом в gremlin-scala для преобразования класса case в Vertex перед его сохранением. Короче говоря, он не повторяется в экземплярах класса case и отправляет все, что есть.

Решение состоит в том, чтобы отказаться от макроса и реализовать пользовательский gremlin.scala.Marshallable[YourCC]

Другие вопросы по тегам