在不保存对象状态的情况下在 VO 中实现序列化



目前在项目中,很少有VO(值对象)类通过实现可序列化接口进行序列化。 这个类只有getter和setter。在代码中没有进一步的地方,他们正在执行 writeObject 或保存对象状态。

是否有任何价值可以使我的 VO 可序列化有任何意义?

让我们用一个简单的案例来争论:想象一个实体包装了一些值对象,你想用例如Hibernate框架来管理你的实体。

休眠可能需要可序列化的类:

该类应实现可序列化。严格来说,这是 不是必需的。但是,在实践中,您通常需要您的 休眠对象以使其可序列化,以便它们可以(可能) 在多处理器群集周围迁移或保存和还原 网络服务器重新启动等。

当然,您不必精确地编写对象和读取对象方法,因为默认序列化使用反射来保存和还原对象状态。

实际上,当您想要自定义序列化时,这些方法很有趣,例如,在反序列化期间使用精确的默认值初始化字段(存在于客户端类中,但在服务器类中不存在)。

最新更新