欢迎来到我的博客来阅读我写的文章,希望我写的文章能帮助到大家!
看到错误什么的欢迎指出来,有不足请补充!
请看下面的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| @Data @TableName("user") public class User implements Serializable {
public static final Long serialVersionUID = 1L;
@JsonProperty("user_id") @TableId(type = IdType.AUTO) private Integer userId;
@Length(min = 6) private String userName;
@JsonInclude(JsonInclude.Include.NON_NULL) @NotBlank private String userPassword;
@JsonInclude(JsonInclude.Include.NON_NULL) @NotBlank private String userPhonenumber; }
|
解答如下
- 这个序列化ID起着关键的作用,它决定着是否能够成功反序列化,简单来说,java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地实体类中的serialVersionUID进行比较,如果相同则认为是一致的,便可以进行反序列化,否则就会报序列化版本不一致的异常。
为什么每个实体类对象都实现了序列化接口,但都还要加一个序列化id?