4

これは、Kryo シリアライゼーション ライブラリを使用しています。

で DB にシリアル化されたオブジェクトを既に持っていますFieldSerializer。ここで、シリアル化されたクラスにいくつかのフィールドを追加し、それらとの下位互換性を確保したいと考えています。

これは可能ですか?それを行う最良の方法は何ですか?

デシリアライザーを に切り替えてみましたTaggedFieldSerializerが、当然のことながら、それは機能しません ( Encountered unregistered class ID:)。

追加のフィールドを持つ同じクラスを使用して、これらのオブジェクトを逆シリアル化する方法はありますか?


更新 1

明らかでない場合に備えて、以前にシリアル化されたすべてのオブジェクトを DB から削除しないようにしたいと考えています。

4

2 に答える 2

0

それは不可能だと思います。FieldSerializer の Javadocs、L55-56から:

以前にシリアル化されたバイトを無効にすることなく、フィールドのタイプを追加、削除、または変更することはサポートされていません。

于 2015-05-27T18:28:08.850 に答える