他是一个标志,实现了Serializable接口的类,就会告诉JVM,自己不对这个类进行序列化了,让JVM帮我们序列化这个类
Serializable接口就是Java提供用来进行高效率的异地共享实例对象的机制,实现这个接口即可
为什么要定义serialversionUID变量
实体类中要定义serialversionUID变量
private static final long serialVersionUID = 1L;
它强烈建议我们自己定义一个serialversionUID,因为默认生成的serialversionUID对class极其敏感,在反序列化的时候很容易抛出InvalidClassException异常。
总结:
只有持有这个标记JVM才允许类创建的对象可以通过其IO系统转换为字节数据,从而实现持久化,而这个标记就是Serializable接口。
在反序列化的过程中则需要使用serialVersionUID来确定由那个类来加载这个对象,所以我们在实现Serializable接口的时候,一般还会要去尽量显示地定义serialVersionUID。
实体类说明:
@TableName:表名注解,标识实体类对应的表
@TableId:主键注解,type = IdType.AUTO(数据库 ID 自增)
@TableField:字段注解(非主键)
@TableLogic:逻辑删除