A ---- * B * ----- C (*는 많으므로 A에서 B와 B - C 사이의 양방향이며 B가 많은 양방향 테이블 별표는 많은 것을 나타냅니다).양방향 관계에 대한 JPA 순환 참조
A:
@OneToMany(mappedBy = "A")
private List<B> bList;
B:
@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id")
@JsonIdentityReference(alwaysAsId=true)
@ManyToOne
private A;
@ManyToOne
private C;
C:
@JsonIgnore
@OneToMany(mappedBy = "C")
private List<B> bList;
내가 먼저 JSON 개체를 가져 오지, 그것은 OK를 검색, 나는 순환 종속성을 제거했지만, 나는 개체가 존재하지 않는 DB에, 나는 DB에서 검색 JSON을 삽입 할. 그래서 저는 A를 직접 저장하려고 시도합니다, aRepository.save (A), 그렇지만 C 객체가 존재하지 않는다는 에러가 발생합니다. 이 경우에는 어떻게 저장할 수 있습니까? B에 대한 C 참조의 json 파일에도 입력해야합니까? 그리고 그렇다면, 어떻게?
EDIT : B와 C 사이의 양방향 관계가 제거되었지만 여전히 작동하지 않습니다.
JSON은 브라우저에서 오는 데이터를 나타냅니다. API가 입력으로 기대하는 바를 최소한으로 설명하는 JSON 구조체를 보냅니다. 영구적 인 엔티티에서 파생 된 JSON을 보내지 마십시오. 이는 완전히 다른 것입니다. 그런 다음이 JSON에서 적절한 코드를 작성하여 엔티티를 작성/업데이트하십시오. –