現在、以前に Hibernate 経由で読み込んだデータをシリアル化しようとしています。タイプ情報を復元するために、次のようにデフォルトの入力を有効にしました。
objectMapper.enableDefaultTyping(DefaultTyping.NON_CONCRETE_AND_ARRAYS,As.PROPERTY);
また、この注釈を使用してエンティティにアイデンティティ情報を追加しました。
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@id")
ただし、@OneToMany
私が持っている関係を逆シリアル化すると、この時点で PersistentBag にセッションがないため、逆シリアル化は失敗します。私のプログラムはコンテナーなしで実行されているため、この問題を簡単に修正することはできません。
また、jackson 用のこの hibernate-datatype モジュールがあることも認識していますが、これでは問題は解決しません (このモジュールは主に LAZY_LOADING-hibernate-property を尊重するために使用されると思います)。
したがって、これを修正する私の考えは、 a ではなく a をシリアル化することでしPersistentBag
たArrayList
。これを行う簡単な方法はありますか、それとも独自のシリアライザーを作成する必要がありますか (試してみましたが成功しませんでした)?