为什么mybatis-plus反向生成的PO均实现了Serializable
实体类为什么要实现Serializable接口_God _lin的博客-CSDN博客
serialVersionUID 是干什么的? - 知乎 (zhihu.com)
详细文章见上面两篇,下面是我个人的理解
简而言之 我们实际开发时通常都会用redis这种nosql数据库,所以PO这种存储持久层数据的对象建议实现Serializable接口,如果PO对象继承一个BaseEntity(为了代码降重),那么由BaseEntity统一实现Serializable接口
并且每个PO类,最好都要显式声明自己的serialVersionUID 而不要使用mybatis-plus默认生成的或者从父类继承
下图为mybatis-plus默认生成的serialVersionUID
常见的手动给类创建唯一序列化号的操作
一般流程上看,先由mybatis-plus生成PO,再人为查看PO,提取重复代码形成BaseEntity,这个过程中手动修改每个PO的serialVersionUID似乎也不是什么问题?(或许还有更高明的方法或者插件)
serialVersionUID 用于序列化和反序列化时 类的对比,场景为两服务器之间请求数据时,更具体的东西我就没过多了解了
如果不存在序列化需求,也就不存在序列化与反序列化中的比对,原则上不声明 serialVersionUID 也是可以的