我有一个简单的Java类,我需要序列化以作为值存储在RDBMS或键值存储中。该类只是简单类型(本机类型或本地类型的地图/列表)属性的集合。问题是这个类可能会随着时间的推移而发展(可能是:添加新属性,不太可能,但仍然可能:重命名属性,更改属性的类型,删除属性)。Java中的版本化序列化
我希望能够优雅地处理类版本中的更改。特别是,当试图从旧版本反序列化实例时,我希望能够指定某种处理程序来管理旧实例向最新版本的转换。
我不认为Java的内置序列化在这里是合适的。在我尝试推出自己的解决方案之前,我想知道是否有人知道可能有帮助的现有库?我知道很多Java的替代序列化方法,但我特别寻找能够让我随着时间的推移修改类定义的东西。
编辑:
对于它的价值,我结束了协议缓冲区(http://code.google.com/p/protobuf/)序列化去,因为它的灵活添加和重命名字段,而正对一块少的代码,我要保持(参考使用readObject/writeObject的自定义Java序列化)。
我没有意识到readFields和putFields方法,所以非常感谢。 – 2009-08-23 21:22:28