Команда:
@Entity
public class TeamDTO {
// other fields
@OneToMany(mappedBy = "team")
private List<PlayerDTO> members;
// methods
}
Игрок:
@Entity
public class PlayerDTO {
// other fields
@ManyToOne
@JoinColumn(name = "pla_fk_n_teamId")
private TeamDTO team;
// methods
}
У меня 2 DTO, как указано выше, с бесконечной проблемой рекурсии. Я уже искал в Google эту проблему, нашел несколько ответов, таких как (@JSONIgnore, @JsonManagedReference или @JSONBackReference et c.), Все эти 3 аннотации в основном говорят об игнорировании одной стороны ответа DTO. Но я не могу игнорировать ни одно из полей из-за причин, указанных ниже :
when I do GET /teams/1 , I need to know all members of Team 1
when I do GET /players/11 , I need to know in which Team, player 11 playing.
Итак, я не могу игнорировать любое из полей с любой из сторон. Я ищу лучшее решение. Может кто-нибудь, пожалуйста, помогите мне по вышеупомянутой проблеме рекурсии DTO.