Картирование множества струн в сущности OlingoJAVA

Программисты JAVA общаются здесь
Anonymous
Картирование множества струн в сущности Olingo

Сообщение Anonymous »

Я разрабатываю приложение Odata с использованием SAP Olingo V4 версии 2.3.1. Ранее я использовал версию 0.3.6, которая поддерживала эту функциональность. Из того, что я нашел в Интернете, SAP Olingo поддерживает только примитивные типы, такие как String, Integer, Long и Double, и не разрешает отображение с типами сбора, такими как списки или массивы.

Код: Выделить всё

public class Entity {

@Column(name = "\"CommaSeparatedStrings\"")
@Convert(converter = StringListConverter.class)
protected List commaSeparatedStrings;

}
< /code>
преобразователь для преобразования строки в список строк < /p>
@Converter
public class StringListConverter implements AttributeConverter {
@Override
public String convertToDatabaseColumn(final List enums) {
if (enums == null) {
return null;
}

return String.join(",", enums);
}

@Override
public List convertToEntityAttribute(final String dbData) {
return Stream.of(StringUtils.commaDelimitedListToStringArray(ofNullable(dbData).orElse("")))
.filter(StringUtils::hasLength)
.collect(Collectors.toList());
}

}
Но когда я запрошу http: // localhost: 13080/odata/entities
он возвращает 500:
"message": "class sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to class java.lang.Class (sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl and java.lang.Class are in module java.base of loader 'bootstrap')"
< /code>
Но я ожидаю, что он вернет < /p>
{
"CommaSeparatedStrings": ["item1", "item2", "item3"]
}
< /code>
Может ли кто -нибудь помочь мне с этой проблемой? У меня есть сотни таких полей во всех моих организациях. ИИ говорит, что я должен использовать EntityProcessor для обновления поля для сбора в ответ на получение конечных точек и jpaodatametadatapostprocessor для $ metadata endpoint.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ngo-entity

Вернуться в «JAVA»