Код: Выделить всё
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());
}
}
он возвращает 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