MappingJacksonHttpMessageConverter を介して、Hibernate/Spring MVC で jackson 1.9.2 を使用しています。
Jackson は、双方向の 1 対多の関係をシリアル化できず、無限ループになります。
私が使用しているクラスは次のとおりです。
SMS インスタンスのセットを持つ会話。
各 SMS インスタンスには一連の PhoneNumbers があります
各 PhoneNumber には親連絡先があります (これは双方向の多対 1 の関係です)
私がやろうとしているのは、会話をシリアル化することです。
@JsonManagedReferenceと@JsonBackReferenceを使用しないと、無限ループのために jackson がクラッシュします。しかし、それらを使用すると、ContactはPhoneNumberにシリアル化されません。
クラス連絡先 { @JsonManagedReference List<電話番号> phoneNumber ; } クラス 電話番号 { @JsonBackReference お問い合わせ先; }
出力は次のとおりです。
{ <--------------------- 会話 "ID": 51, "smsSet": [ { "ID": 53, "起源": 0123465, "目的地": "06533844XY", "メッセージ": "ハローワールド!", "電話番号": [ { "ID": 64, "数値": "06533844XY", 「作成日」: 1333992533000、 } ]、 } ]、 「作成日」: 1333992534000 }
それ以外の
{ <--------- 会話 "ID": 51, "smsSet": [ { "ID": 53, "起源": 0123465, "目的地": "06533844XY", "メッセージ": "ハローワールド!", "電話番号": [ { "ID": 64, "数値": "06533844XY", 「作成日」: 1333992533000、 「連絡先」:--------------------- 欠品 { "ID": 12, 「名前」:「サミュエル・ジャクソン」、 "primaryNumber": "06533844XY" } } ]、 } ]、 「作成日」: 1333992534000 }