Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.serializer.SerializationException: Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.io.NotSerializableException: com.*.*.Entity] with root cause
java.io.NotSerializableException: com.*.*.entity
这个异常表明com.*.*.Entity没有实现Serializable接口,导致它无法被Redis序列化并存储。
Spring Data Redis默认使用JDK序列化(JdkSerializationRedisSerializer),这需要存储的对象实现Serializable接口。
解决办法:
让entity实现Serializable接口
import java.io.Serializable;
public class Entity implements Serializable {
private static final long serialVersionUID = 1L; // 避免序列化版本不兼容
// 成员变量
// 成员方法
}