【问题标题】:Implement serializable in Spring Boot Entity Class [duplicate]在 Spring Boot 实体类中实现可序列化 [重复]
【发布时间】:2020-08-10 10:42:39
【问题描述】:

请问在 Spring Boot Data JPA 中实现 Serializable 接口对实体类有什么作用。不实现接口的后果是什么。

【问题讨论】:

  • 是的,我已经从其他人那里得到了答案。无论如何,谢谢。

标签: spring-boot spring-data-jpa


【解决方案1】:

首先您了解序列化.. 这将在您需要实现或不实现可序列化时为您提供帮助...

实际上,您不应该“生成”串行版本的 UID。它是一个 愚蠢的“功能”源于对如何 该 ID 由 Java 使用。您应该赋予这些 ID 有意义, 可读值,例如从 1L 开始,每增加一个 你认为新版本的课程应该呈现所有以前的 版本(可能以前序列化)已过时。所有实用程序 生成这样的 ID 基本上会执行 JVM 在 ID 为 未定义:它们根据类的内容生成值 文件,因此提出了不可读的无意义长整数。如果 您希望班级的每个版本都不同(在 JVM的眼睛)那么你甚至不应该指定serialVersionUID 值是因为 JVM 会在运行中生成一个,并且每个的值 您的班级版本将是独一无二的。定义的目的 value 明确是告诉序列化机制来处理 具有相同 SVUID 的类的不同版本,就好像它们 是一样的,例如不要拒绝旧的序列化版本。因此,如果 您定义 ID 并且从不更改它(我假设这就是您所做的 因为你依赖自动生成,你可能永远不会 重新生成您的 ID)您确保所有 - 甚至绝对 不同 - 你的班级的版本将被认为是相同的 序列化机制。那是你要的吗?如果没有,如果你 确实想控制如何识别您的对象,您 应该使用您自己可以理解的简单值,并且 当您确定课程已更改时轻松更新 显着地。拥有 23 位数的值根本没有帮助。

【讨论】:

    猜你喜欢
    • 2012-07-20
    • 2014-09-10
    • 2018-08-19
    • 1970-01-01
    • 2018-08-06
    • 2018-06-21
    • 2020-07-05
    • 1970-01-01
    相关资源
    最近更新 更多