https://www.cnblogs.com/anhao/p/6676983.html
1.查看实体类有没有实现Serializable接口
例:public class Student implements Serializable {
*****
}
2.看表中的字段有没有在实体中进行关系映射
3.hibernate配置中是否有序列化类型数据,即SerializableType,与对应的数据库数据是否相同
4.jdk,不同的jdk序列化的时候得到的结果是不同的,如果保存数据的时候用的是一个版本的jdk,而读数据(即反序列化的时候)是另一个版本的jdk那么有可能反序列化不成功。
5.最重要的一点(个人认为大家出错的原因是这个): 反序列化问题可能是实体类中的字段数据类型引起的.
a.例如我的错误是把Timestamp引用成了:import org.apache.commons.net.ntp.TimeStamp;而正确的是:import java.sql.Timestamp;
b.
private String[] entryMeters;
@Basic
@Column(name = "entry_meters", columnDefinition = "json")
public String[] getEntryMeters() {
return entryMeters;
}
public void setEntryMeters(String[] entryMeters) {
this.entryMeters = entryMeters;
}