Tôi đang sử dụng jackson 1.9.2 với Hibernate/Spring MVC thông qua MappingJacksonHttpMessageConverter.Jackson nhầm lẫn với mối quan hệ một-hai chiều hai chiều
Jackson không thể tuần tự hóa mối quan hệ một-nhiều chiều hai chiều và tạo vòng lặp vô hạn.
Các lớp tôi đang sử dụng là:
thoại trong đó có một Set các trường hợp tin nhắn SMS.
Mỗi trường hợp tin nhắn SMS có Set của PHONENUMBERS
Mỗi PhoneNumber có một số liên lạc cha mẹ (đây là hai chiều đến nhiều-một mối quan hệ)
Những gì tôi đang cố gắng làm là để sắp xếp một cuộc hội thoại.
Nếu tôi không sử dụng @JsonManagedReference và @JsonBackReference sau đó jackson sẽ crashe do một vòng lặp vô hạn. Nhưng khi tôi sử dụng chúng, Liên hệ không được đăng theo thứ tự thành PhoneNumber.
Class Contact { @JsonManagedReference List<PhoneNumber> phoneNumber ; } Class PhoneNumber { @JsonBackReference Contact contact; }
Đầu ra là:
{ <--------------------- Conversation "id": 51, "smsSet": [ { "id": 53, "origin":, "destination": "06533844XY", "message": "Hello world!", "phoneNumbers": [ { "id": 64, "num": "06533844XY", "creationDate": 1333992533000, } ], } ], "creationDate": 1333992534000 }
thay vì
{ <---------- conversation "id": 51, "smsSet": [ { "id": 53, "origin":, "destination": "06533844XY", "message": "Hello world!", "phoneNumbers": [ { "id": 64, "num": "06533844XY", "creationDate": 1333992533000, "contact": <--------------------- Missing part { "id": 12, "name": "Samuel Jackson", "primaryNumber": "06533844XY" } } ], } ], "creationDate": 1333992534000 }
Tôi đang sử dụng phiên bản Chung, trình chỉnh sửa stackoverflow đã nuốt <. Tôi nghĩ rằng những gì đang xảy ra là @JsonBackReference đang được tuần tự hóa đầu tiên. – redochka
Ah ok. Vâng, điều đó dường như có nhiều khả năng hơn; lỗi sẽ khác đi. – StaxMan