RDBMSまたはキー値ストアに値として格納するためにシリアライズする必要のある単純なJavaクラスがあります。このクラスは、単純型(ネイティブ型またはネイティブ型のマップ/リスト)のプロパティのコレクションに過ぎません。問題は、クラスが時間の経過とともに進化していく可能性が高いことです(新規プロパティの追加、可能性は低いが可能性:プロパティの名前の変更、プロパティのタイプの変更、プロパティの削除など)。Javaでバージョン管理されたシリアル化
私は、クラスのバージョンの変更を正常に処理できるようにしたいと考えています。具体的には、古いバージョンからインスタンスを逆シリアル化しようとすると、古いインスタンスから新しいバージョンへの移行を管理するためのハンドラを指定できるようにしたいと考えています。
Javaの組み込みシリアル化はここでは適切ではないと思います。私自身のソリューションをロールしようとする前に、誰かが助けてくれる既存のライブラリを知っているのだろうかと思います。私は、Javaのための代替シリアル化メソッドのトンを知っていますが、私は時間の経過とともにクラス定義への変更を適切に処理できるようなものを探しています。
編集:それは価値がある何のため
、私はプロトコルバッファ(http://code.google.com/p/protobuf/)シリアライズと一緒に行くことになった、コードの小さい部分でありながら、それは、フィールドを追加し、名前の変更への柔軟なので、私は(維持する必要がreadObject/writeObjectを使用したカスタムJavaシリアル化を参照してください)。
私はreadFieldsメソッドとputFieldsメソッドを認識していませんでした。 –