【发布时间】:2015-04-11 07:35:53
【问题描述】:
我有以下静态类型Object的声明:
Integer typeId;
//Obtaining typeId
Object containerObject = ContainerObjectFactory.create(typeId);
工厂可以生产不同类型的container objects,例如Date、Integer、BigDecimal 等等。
现在,在创建containerObejct 之后,我需要将其序列化为String 类型的对象,并使用休眠将其存储到数据库中。我不会提供对象关系映射,因为它与问题没有直接关系。
好吧,我想做的是根据它的运行时类型序列化containerObject,然后用它被序列化的类型反序列化它。有可能吗?我可以使用xml-serialization 吗?
【问题讨论】:
-
我会对序列化运行时类型保持警惕。它往往会以你无法想象的方式咬你。在您不小心重命名类或将其移动到另一个包后,您会遇到非常讨厌且难以修复的错误。
-
@bgoldst:他想将其序列化为字符串 - 所以如果他想使用原生 Java 序列化,他必须(比如说)在持久化之前对结果进行 Base64 编码。
标签: java serialization