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
}