私はこのような3つのテーブルを持っています。A ---- * B * ----- C(*は多く、AからBとB-Cへの双方向です。星は多くを示します)。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;
Iは、第JSONオブジェクトをretrive、それがOK取得され、Iは、循環依存を排除したが、その後私は、オブジェクトが存在しないDBに、DBで検索JSONを挿入します。だから私は直接aRepository.save(A)を保存しようとしますが、Cオブジェクトが存在しないというエラーが出ます。 この場合、どのように保存することができますか?BのC参照のjsonファイルにも入力する必要がありますか?そしてもしそうなら、どうですか?
EDIT:BとCの間の双方向の関係は削除されていますが、まだ動作していません。
JSONはブラウザからのデータを表します。 APIが入力として期待していることを最小限に説明するJSON構造を送信します。永続エンティティから派生したJSONを送信しないでください。これはまったく別のものです。次に、このJSONから、適切なコードを記述してエンティティを作成/更新します。 –