Bug描述
在使用Redis作为MyBatisPlus的二级缓存时发现,从Redis取出数据时报错,即反序列化失败。
org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Cannot construct instance of
java.time.LocalDateTime
(no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
解决方法
在使用LocalDateTime类型的字段上方加上以下注解即可:
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime createdTime;
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime updatedTime;