tôi có mối quan hệ hai chiều như thế này ...Spring MVC - JSON đệ quy vô hạn
Person.java
public class Person{
@JsonIgnore
@OneToMany(targetEntity=PersonOrganization.class, cascade=CascadeType.ALL,
fetch=FetchType.EAGER, mappedBy="person")
private Set<PeopleOrg> organization;
.....
}
PersonOrganization.java
public class PersonOrganization{
@JsonIgnore
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="PERSONID", nullable=false)
private Person person;
}
Ngay cả với @JsonIgnore
chú thích tôi nhận được lỗi đệ quy vô hạn khi cố gắng truy xuất bản ghi Person. Tôi đã thử các chú thích mới trong phiên bản 1.6. @JsonBackReference
và @JsonManagedReference
. Thậm chí sau đó tôi nhận được đệ quy vô hạn ..
Với @JsonBackReference("person-organization")
trên Person
và @JsonManagedReference("person-organization")
trên PersonOrganization
org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: com.entity.Person["organization"]->org.hibernate.collection.PersistentSet[0]->com.entity.PersonOrganization["person"]->com.entity.Person["organization"]->org.hibernate.collection.PersistentSet[0]...
Ngay cả Nếu tôi trao đổi các chú thích, tôi vẫn nhận được ngoại lệ này .. Xin vui lòng cho tôi biết nếu có có điều gì đó sai với ánh xạ hoặc cách tôi đang sử dụng chú thích JSON. Cảm ơn
Điều này cũng phù hợp với tôi, tuy nhiên tôi không thể tìm hiểu lý do tại sao! – Skurpi
Tôi có thể cho bạn một nụ hôn béo lớn ngay bây giờ. Điều này đã khắc phục được sự cố của tôi. Trong trường hợp của tôi, lĩnh vực này đã được bảo vệ. – theblang
Không đủ, tôi vẫn gặp vấn đề. –