2016-10-28 4 views
0

в последнее время с этими двумя DTO я получил эту ошибкуДжексон: Невозможно обработать регулировались/обратная ссылка «defaultReference» с вложенными DTOS

MappingJackson2HttpMessageConverter: 163 - Не удалось оценить Джексона десериализации для типа [простой тип, класс seml.dto.PoiDto]: java.lang.IllegalArgumentException: невозможно обрабатывать управляемые/обратные ссылка 'defaultReference': тип обратной ссылки (java.util.Set) не , совместимый с управляемым типом (seml.dto.ConceptDto)

Как вы можете видеть в приведенном ниже коде, у меня есть объекты Set of ConceptDto, которые имеют соответственно несколько наборов расширений/узлов/связанных объектов ConceptDto. Конечно, я ошибался, чтобы использовать @ JsonManagedReference/@ JsonBackReference, но я не понимаю, как это сделать. Может ли кто-нибудь помочь мне в этом вопросе? Спасибо всем.

PoiDto.java

public class PoiDto extends GenericDto<String>{ 

    private String id; 
    private String uri; 
    private String title = ""; 
    private String description = ""; 

    @JsonManagedReference 
    private Set<ConceptDto> concepts = new HashSet<ConceptDto>(); 

    @JsonManagedReference 
    @JsonBackReference 
    private Set<PoiDto> relatedPOIs = new HashSet<PoiDto>(); 

    private Set<ProductOrServiceDto> relatedProductOrServices = new HashSet<ProductOrServiceDto>(); 
[...] 

ConceptDto.java

public class ConceptDto extends GenericDto<String> { 

    private String prefLabelIt; 
    private String prefLabelEn; 
    private String code; 
    private double rating; 


    @JsonBackReference 
    private Set<ConceptDto> broaders = new HashSet<ConceptDto>(); 

    @JsonManagedReference 
    private Set<ConceptDto> narrowers = new HashSet<ConceptDto>(); 

    @JsonIgnore 
    private Set<ConceptDto> relateds = new HashSet<ConceptDto>(); 

[...] 

ответ

4

Пожалуйста, попробуйте в первую очередь, чтобы удалить @JsonBackReference и @JsoonManagedReference и добавьте @JsonIdentityInfo (генератор = ObjectIdGenerators.PropertyGenerator.class, недвижимость = «id»), я надеюсь, что это сработает с вами, потому что у меня была эта же проблема, и это сработало для меня :)

+0

спасибо, вы спасли мое время ... –

 Смежные вопросы

  • Нет связанных вопросов^_^