2015-02-05 1 views
0

У меня есть объект, как, например:OrientDB открепление все не работает 2.0.1 сообщества

public class MyObject {  
    private Date date; 
    private Map<String, Object> items; 

    //default constructor 
    //getters and setters 
} 

В пунктах карте можно сохранить примитивные объекты (например, строк, двойники и т.д.), а также перечислены в качестве значений. Я могу сохранить объект без каких-либо проблем с помощью OObjectDatabaseTx.

Однако, когда я возвращаю объект и пытаюсь отделить все, он только отделяет объекты на карте элементов, которые не являются списком. Для списков он сохраняет их как OTrackedList. Это вызывает проблему, когда я пытаюсь отправить объект через API для отдыха, поскольку JAXB не знает, что такое OTrackedList. Я получаю следующую ошибку:

JAXBException произошло: класс com.orientechnologies.orient.core.db.record.OTrackedList или любой его суперкласс известен этому контексту .. class com.orientechnologies.orient.core.db .record.OTrackedList или любой из его суперкласса известен в этом контексте.

Может ли кто-нибудь помочь мне с этим? У меня заканчиваются идеи и серьезно задумываются о переходе на другую базу данных документов.

ответ

0

JAXBException указывает, что у вас есть проблема JAXB, а не проблема OrientDB. Посмотрите на любой вопрос о своем исключении, например this one

+0

Спасибо за ответ. Я понимаю, что JAXB хочет преобразовать OTrackedList и не может, потому что он не знает контекста OTrackedList. Однако это не моя проблема. Моя проблема в том, что даже после вызова detachAll из OObjectDatabaseTx я не возвращаю чистый объект List, а скорее OTrackedList. И если я понимаю цель функции отсоединения, это не должно быть. Это действительно то, с чем мне нужна помощь; удаление списка из списка OTrackedList – rodmen88