私は自分のエンティティで双方向の多対多の関係を持っています。以下の例を参照してください。
public class Collaboration {
@JsonManagedReference("COLLABORATION_TAG")
private Set<Tag> tags;
}
public class Tag {
@JsonBackReference("COLLABORATION_TAG")
private Set<Collaboration> collaborations;
}
これをJSONにシリアル化しようとすると、次の例外が発生します。`
"java.lang.IllegalArgumentException:マネージド/バックリファレンス'COLLABORATION_TAG'を処理できません:バックリファレンスタイプ(java.util.Set)はマネージドタイプ(foo.Collaboration)と互換性がありません。
実際、javadocには、コレクションで@JsonBackReferenceを使用できないと明示的に記載されているため、これは理にかなっています。私の質問は、この問題にどのように対処すればよいかということです。今のところ、親側の@JsonManagedReferenceアノテーションを削除し、子側に@JsonIgnoreを追加しました。誰かがこのアプローチの副作用は何であるか教えてもらえますか?他に何か提案はありますか?