serialVersionUID作用:
序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。
如果你修改代码重新部署后出现序列化错误,可以考虑给相应的类增加serialVersionUID字段。
一般来说有两种生成方式:
一个是默认的1L,比如:private static final long serialVersionUID = 1L;
一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:private static final long serialVersionUID = -8940196742313994740L;之类的。
下面说说用Eclipse/Myeclipse生成serialVersionUID,方法非常简单。
有图为例,比如访客表需要添加serialVersionUID
先让这个类继承Serializable接口
import java.io.Serializable;public class Test implements Serializable{}
使用Eclipse/Myeclipse IDE时,会出现左侧的黄色叹号提示,点击这个黄色叹号
选择第一项,添加已生成的串行版本标识,则Eclipse/Myeclipse IDE 会生成一个serialVersionUID,搞定。
public class Test implements Serializable{ /** * */ private static final long serialVersionUID = 1L;}