报错详情 : 

 报错的大概意思就是 : 

类型转换异常,不能够将Long类型转换成String类型;

原因 : 

因为这里使用的是 : StringRedisTemplate这个对象 ,要求你所有的key,value都只能够是String类型 ;

然后我们在存入hash对象的时候 : 

存入逻辑如下 : 以一个token作为key,UserDto转map作为value  : 

然而这个UserDto的id类型是Long类型的 : 

所以会造成类型转换异常 : 

解决办法 : 

在进行存入的时候,将全部的value修改为String类型即可 :

   //  7 . 2 将User对象转换为hash存储
        UserDTO userDTO = BeanUtil.copyProperties(user, UserDTO.class) ;
        Map<String,Object> userMap = BeanUtil.beanToMap(userDTO,new HashMap<>(),
                CopyOptions.create()
                        .setIgnoreNullValue(true)
                        .setFieldValueEditor((fieldName,fieldValue)->fieldValue.toString())
        );

 

代码解读 : 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐