j3N0 / tmall_springboot

springboot实现天猫商城
1 stars 0 forks source link

[Redis] Product Couldn't be deserialized. #12

Open j3N0 opened 5 years ago

j3N0 commented 5 years ago

java.lang.ClassCastException: com.example.tmall_springboot.domains.Product$HibernateProxy$9WvJMz3c cannot be cast to org.hibernate.proxy.LazyInitializer

Product对象无法通过Redis反序列化。

j3N0 commented 5 years ago

原因:JPA的getOne方法,返回的是一个实体的引用。因此在Redis中查看到缓存的Product的类型为Product$HibernateProxy$2MvDhTZC,所以才会在反序列化过程中抛出对象类型不匹配的异常。

解决方法:放弃使用getOne()方法,改用findById()方法。