クラス JacksonHashMapper

java.lang.ObjectSE
org.springframework.data.redis.hash.JacksonHashMapper
実装済みのインターフェース一覧:
HashMapper<ObjectSE,StringSE,ObjectSE>

public class JacksonHashMapper extends ObjectSE implements HashMapper<ObjectSE,StringSE,ObjectSE>
ObjectMapper をベースとした HashMapper 実装で、フラット化が可能です。以下のような Address を持つエンティティ Person が与えられた場合、フラット化によって、ネストされたすべてのプロパティに対して個別のハッシュエントリが作成され、可能な限り複雑な型が単純な型に解決されます。

builder() を使用して作成を構成することで、Jackson 2 互換モードを有効にする(Jackson 2 から既存のデータを移行する場合)か、カスタムの MapperBuilder コンフィギュレータを添付することができます。

デフォルトでは、JSON マッピングはデフォルトの型を使用します。不要な型のインスタンス化を防ぐため、適切な PolymorphicTypeValidator を設定してください。

フラット化では、すべてのプロパティ名が JSON パスに干渉しないようにする必要があります。マップキーで、またはプロパティ名としてドットまたは括弧を使用することは、フラット化を使用してサポートされていません。結果のハッシュをオブジェクトにマップして戻すことはできません。

サンプル

class Person {
        String firstname;
        String lastname;
        Address address;
        Date date;
        LocalDateTime localDateTime;
}

class Address {
        String city;
        String country;
}

標準

ハッシュフィールド 値
ファーストネーム ジョン
苗字 雪
アドレス { " 市 ": 「Castle ブラック」、「カントリー」: " 北 " }
日付 1561543964015
localDateTime2018-01-02T12:13:14

フラット

ハッシュフィールド 値
ファーストネーム ジョン
苗字 雪
address.cityCastle ブラック
address.country 北
日付 1561543964015
localDateTime2018-01-02T12:13:14
導入:
4.0
作成者:
Christoph Strobl, Mark Paluch