Spring MVC - бесконечная рекурсия JSON

У меня такие двусторонние отношения ...

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;
  }

Даже с аннотацией @JsonIgnore я получаю бесконечную ошибку рекурсии при попытке для получения записей Person. Я пробовал новые аннотации в версии 1.6. @JsonBackReference и @JsonManagedReference . Даже тогда я получаю бесконечную рекурсию ..

With @JsonBackReference («человек-организация») на Person и @JsonManagedReference («человек-организация») на 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]...

Даже если я поменяю аннотации местами, я Я все еще получаю это исключение .. Пожалуйста, дайте мне знать, если что-то не так с сопоставлениями или с тем, как я использую JSON ann отзывы. Спасибо

24
задан Buhake Sindi 6 June 2015 в 12:38
поделиться

1 ответ

для меня я попробовал @JsonIgnore, @JsonManagedReference / JsonBackReference, но ничто не работало, пока я не считал этот Исключение брошенное ["hibernateLazyInitializer"] решение 1 и этот Исключение, которое брошенное ["hibernateLazyInitializer"] решение 1 для решения 2

состоит в том, чтобы изменить от выборки. ЛЕНИВЫЙ для выборки. НЕТЕРПЕЛИВЫЙ, и решение 2 использует @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}), и, конечно, используйте @JsonIgnore в обоих решениях

0
ответ дан 28 November 2019 в 22:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: