1.查看實體類有沒有實現Serializable接口
例:public class Student implements Serializable {
*****
}
2.看表中的字段有沒有在實體中進行關系映射
3.hibernate配置中是否有序列化類型數據,即SerializableType,與對應的數據庫數據是否相同
4.jdk,不同的jdk序列化的時候得到的結果是不同的,如果保存數據的時候用的是一個版本的jdk,而讀數據(即反序列化的時候)是另一個版本的jdk那么有可能反序列化不成功。
5.最重要的一點(個人認為大家出錯的原因是這個)實體類中數據字段類型jar包是否引用正確。例如我的錯誤是把Timestamp引用成了:import org.apache.commons.net.ntp.TimeStamp;而正確的是:import java.sql.Timestamp;
最后,感謝@oldmee 大神提供的解決錯誤思路。