java.io.InvalidClassException解决

报错现象

Oops: JPAQueryException
An unexpected error occured caused by exception JPAQueryException: Error while executing query select t from TurnedIn t, Notification n  where n.itemId=t.id and n.type=? and n.receiver.id=? and n.isDeleted=false group by t order by t.createTime desc: org.hibernate.type.SerializationException: could not deserialize
...
Caused by: java.io.InvalidClassException: models.member.Member; local class incompatible: stream classdesc serialVersionUID = 8996579512119659486, local class serialVersionUID = -7513555048418418149

异常原因

本地和远程的member序列化后的serialVersionUID不

解决方法

将本地的序列化的类中的版本号(serialVersionUID )改成和远程中一样,在本地的序列化类里的private static final long serialVersionUID =  改成远程的就行了,如果没有的话就加上这句。

 

关于“org.hibernate.type.SerializationException: could not deserialize”,我查了很多的资料,大概有以下几个原因:

1.该类的序列版本号与从流中读取的类描述符的版本号不匹配(jdk版本更换会造成这个问题)

2.该类包含未知数据类型(hibernate配置文件中未指定数据类型)

3.该类没有可访问的无参数构造方法


 

 

 

你可能感兴趣的:(java.io.InvalidClassException解决)