【发布时间】:2020-08-10 10:42:39
【问题描述】:
请问在 Spring Boot Data JPA 中实现 Serializable 接口对实体类有什么作用。不实现接口的后果是什么。
【问题讨论】:
-
是的,我已经从其他人那里得到了答案。无论如何,谢谢。
标签: spring-boot spring-data-jpa
请问在 Spring Boot Data JPA 中实现 Serializable 接口对实体类有什么作用。不实现接口的后果是什么。
【问题讨论】:
标签: spring-boot spring-data-jpa
首先您了解序列化.. 这将在您需要实现或不实现可序列化时为您提供帮助...
实际上,您不应该“生成”串行版本的 UID。它是一个 愚蠢的“功能”源于对如何 该 ID 由 Java 使用。您应该赋予这些 ID 有意义, 可读值,例如从 1L 开始,每增加一个 你认为新版本的课程应该呈现所有以前的 版本(可能以前序列化)已过时。所有实用程序 生成这样的 ID 基本上会执行 JVM 在 ID 为 未定义:它们根据类的内容生成值 文件,因此提出了不可读的无意义长整数。如果 您希望班级的每个版本都不同(在 JVM的眼睛)那么你甚至不应该指定serialVersionUID 值是因为 JVM 会在运行中生成一个,并且每个的值 您的班级版本将是独一无二的。定义的目的 value 明确是告诉序列化机制来处理 具有相同 SVUID 的类的不同版本,就好像它们 是一样的,例如不要拒绝旧的序列化版本。因此,如果 您定义 ID 并且从不更改它(我假设这就是您所做的 因为你依赖自动生成,你可能永远不会 重新生成您的 ID)您确保所有 - 甚至绝对 不同 - 你的班级的版本将被认为是相同的 序列化机制。那是你要的吗?如果没有,如果你 确实想控制如何识别您的对象,您 应该使用您自己可以理解的简单值,并且 当您确定课程已更改时轻松更新 显着地。拥有 23 位数的值根本没有帮助。
【讨论】: