2017-10-01 12 views
2

내가 두 엔티티 사이에 oneToMany reltionShip을 보내고 있습니다 :잭슨 역 직렬화하는 데 실패 OneToMany 관계 기관

public class Product { 
    @JsonBackReference 
    private List<ProductDetail> listProductDetail; 

그리고

public class ProductDetail { 
    @JsonManagedReference 
    private Product product; 

내가 엔티티 ProductDetail를 역 직렬화하기 위해 노력하고있어하지만 난 항상 해요 다음 예외가 발생했습니다.

jackson can not handle managed/back reference 'defaultreference': back reference type (java.util.list) not compatible with managed type 

다른 json 형식 (예 : t는 json 메시지에서이 필드를 제거함) 항상 같은 결과를 나타냅니다.

사람이 오류 수단을 수행하고 어떻게

감사

+0

덕분에 빠른 응답을, 내가 전에 그 주석을 사용하지 않은, 당신은 어떻게을 추가하는 자세한 내용을 추가하시기 바랍니다 수 있고 나는 왜 해요 예외가 생기면 왜 잭슨이 그 오류를 던지고 있는지 알고 싶습니까? 감사합니다. – Zizou

답변

0
에게 (특정 회사의 다른 동료들에 의해 사용되는 우리의 데이터 모델 구성 요소의 일부) 가능하면 내 개체를 수정하지 않고 그것을 해결하기 위해 무엇을 나에게 설명해 주시겠습니까

대신 시도로 엔티티에 @JsonIdentityInfo을 사용할 수

public class Product { 
    @JsonIdentityInfo 
    private List<ProductDetail> listProductDetail; 

public class ProductDetail { 
    @JsonIdentityInfo 
    private Product product; 
+0

감사합니다. 내 엔티티를 수정하지 않고도 다른 모듈과 공유 할 수있는 솔루션이 있습니까? 잭슨이 예외를 던지는 이유를 알려주십시오. – Zizou

+0

@Zizou 모델/엔티티의 주석을 수정하지 않는다는 의미였습니까? – nullpointer

+0

예, 특수 효과를 수정하지 않고 – Zizou