Quantcast
Channel: Active questions tagged redis+java - Stack Overflow
Viewing all articles
Browse latest Browse all 2203

RedisTemplate use GenericFastJsonRedisSerializer can't deserialize parent class attributes

$
0
0

First of all, I create a parent class implements Serializable, then create a child class to extends it. And I use RedisTemplate with GenericFastJsonRedisSerializer config to put data into redis, but when I get it back from Reids, the data is changed.Please tell me why and how to fix it?

@Datapublic class People implements Serializable {    public Long id;    public String name;}@EqualsAndHashCode(callSuper = true)@Datapublic class Student extends People{    private String sName;}
    @Bean(name = "redisTemplate")    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();        redisTemplate.setConnectionFactory(factory);        RedisSerializer keySerializer = new StringRedisSerializer();        RedisSerializer valueSerializer = new GenericFastJsonRedisSerializer();        redisTemplate.setDefaultSerializer(valueSerializer);        redisTemplate.setKeySerializer(keySerializer);        redisTemplate.setValueSerializer(valueSerializer);        redisTemplate.setHashKeySerializer(keySerializer);        redisTemplate.setHashValueSerializer(valueSerializer);        RedisUtil.init(redisTemplate);        return redisTemplate;    }
    @Autowired    private RedisTemplate<String, Object> redisTemplate;    @Test    public void cacheDeserialize(){        Student student = new Student();        student.setId(11111111111111111L);        student.setName("parent name");        student.setSName("child name");        redisTemplate.opsForValue().set("parent-child-test", student);        Object value = redisTemplate.opsForValue().get("parent-child-test");        System.out.println(value); // print:Student(sName=child name), but I wish it print Student(id=111111111,name=parent name,sName=child name)    }

But:Test result image


Viewing all articles
Browse latest Browse all 2203

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>