OrientDB - Java создает поле типа EMBEDDEDLIST

Я пытаюсь создать поле типа EMBEDDEDLIST из Java.

Но когда я пытаюсь его создать, он считается ССЫЛКОЙ.

Если я определяю поле Studio как EMBEDDELIST со связанным классом, Java работает правильно.

Мой код:

String fieldName = "trialEmbedded";
List<ODocument> fieldDataItem = doc.getData().field(fieldName);

DataItem di = DataItemFactory.create(dtValidita, importo, descrizione, db);

if (fieldDataItem == null) {
    fieldDataItem = new ArrayList<ODocument>();
}
fieldDataItem.add(di.getData());
doc.setField(fieldName, fieldDataItem);

В переменной документа (типа ODocument), когда я сохраняю его, в БД (запрос Studio) у меня есть в столбце «trialEmbedded» ссылка (оранжевое поле с @rid кликабельно), если я укажу поле, поскольку EMBEDDEDLIST работает правильно.


person Joe Taras    schedule 23.03.2016    source источник


Ответы (1)


Я решил очень просто.

Я использовал подпись setField с параметром OType, например:

this.data.field(fieldName, fieldDataItem, OType.EMBEDDEDLIST);
person Joe Taras    schedule 24.03.2016