Циклические ссылки в двунаправленном отношении многие ко многим
У меня двунаправленные отношения многие ко многим в моих сущностях. Смотрите пример ниже:
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 на дочерней стороне. Может кто-нибудь сказать мне, каковы побочные эффекты этого подхода? Есть ли другие предложения?