我的一个java object流化后保存在数据库,当下次从数据库中反流化成java object的时候,java object的class结构发生了变化,就会有异常抛出,请问大家一般是怎么处理这种问题的?

解决方案 »

  1.   

    如果没有的太大的变动
    你在类里面定义一个版本ID 就可以了 public static final long serialVersionUID = 1L;
      

  2.   

    通常,你最好自已重新object的
    private void writeObject(java.io.ObjectOutputStream out)
         throws IOException
     private void readObject(java.io.ObjectInputStream in)
         throws IOException, ClassNotFoundException;你可以自已组织对象的存贮格式,例如:xml或格式Txt文件,
    在readObject中自已恢复对象的属性,这样出错的机会小些.
      

  3.   

    如果class的属性成员增加了,定义一个版本ID的方式还能管用吗
      

  4.   

    的确,序列化就是会出现这样的问题,同意interpb(曾曾胡)