1
我有3個這樣的表格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;
我第一次retrive JSON對象,它被檢索OK,我已經消除了循環依賴,但後來我想插入我的數據庫中檢索的JSON,在DB,其中對象不存在。所以我試着直接保存A,aRepository.save(A),但是我得到一個C對象不存在的錯誤。 在這種情況下我應該如何保存,我是否應該在C中引用B中的json文件?如果是,如何?
編輯:刪除B和C之間的雙向關係,仍然無法正常工作。
JSON表示來自瀏覽器的數據。發送JSON結構,最好地描述API預期的輸入內容。不要發送來自持久實體的JSON,這是完全不同的事情。然後,從這個JSON中,通過編寫適當的代碼來創建/更新實體。 –