org.springframework.data.mapping.MappingException, не может преобразовать карту в объект, используя hashmapper - PullRequest
0 голосов
/ 27 февраля 2020

При преобразовании карты, прочитанной из redis, в мой объект-сущность выдается следующее исключение:

org.springframework.data.mapping.MappingException: неожиданный токен (VALUE_STRING), ожидаемый START_ARRAY: need JSON Массив, содержащий информацию о типе As.WRAPPER_ARRAY для класса java .util.List в [Source: UNKNOWN; строка: -1, столбец: -1] (через цепочку ссылок: edu.why.core.model.IDInfo ["fixParts"])

см. мой код:

@org.junit.jupiter.api.Test
    public void test8() {
        IDInfo info=new IDInfo();
        info.setIndexPosition(1);
        info.setLength(4);
        info.setNextIndex(2);
        info.setStartIndex(100);
        info.setStep(1);
        List<FixedPart> list=new ArrayList<>();
        list.add(new StringFixedPart("ss"));
        list.add(new DateTimeFixedPart("y"));
        info.setFixParts(list);
        redisTemplate.opsForHash().putAll("map",mapper.toHash(info));//here I convert the info to a Map and store it in redis
        Map map=redisTemplate.opsForHash().entries("map");//here I read the map from redis
        IDInfo result=(IDInfo) mapper.fromHash(map);//here I try to convert the map back to IDInfo objcet but it throws an exception
    }

это мой hashMapper:

    @Bean
    public HashMapper hashMapper(){
        return new DecoratingStringHashMapper(new Jackson2HashMapper(false));
    }

это мой класс сущности:

public class IDInfo {
    private long startIndex;      
    private int indexPosition;   
    private int length;             
    private long nextIndex;       
    private int step;               
    private List<FixedPart> fixParts; 
    //omit setter and getter 
}

Хорошо работает при преобразовании объекта в Map, но выдает исключение при преобразовании Map обратно в Objcet .Why

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...