Задать вопрос
@benzoback

@JsonIgnoreProperties для ArrayList, как сделать?

Всем привет!

В моем обучающем проекте есть две сущности: Animal и Client. Это животное и хозяин. В каждой сущности есть ссылка на другую, то есть у Animal есть поле Client, и наоборот. Сущности связаны Many-to-One, у животного только один хозяин, но у одного хозяина может быть несколько животных.

Суть вопроса в том, что у меня есть REST контроллер, и когда я получаю какой-нибудь getClientById, то получается рекурсия, где client ссылается на animal, а тот в свою очередь на клиента и так по кругу.
Я обошел это с помощью аннотации @JsonIgnoreProperties. Но в случае many-to-one все работает отлично:

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "client_id", insertable = false, updatable = false)
@JsonIgnoreProperties("animal")
private Client client;


а в обратном случае, все нихрена не работает отлично:

@OneToMany(fetch = FetchType.LAZY, mappedBy = "client", cascade = CascadeType.ALL)
@JsonIgnoreProperties(value = { "client", "complaints" })
private List<Animal> animals;


и я даже вроде бы знаю почему: JsonIgnoreProperties смотрит на поля List-а, вместо полей Animal для каждого элемента списка.
---

Может быть кто-нибудь знает и подскажет как это обойти? Заранее спасибо
  • Вопрос задан
  • 629 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@aol-nnov
надо не игноре а @JsonBackReference поставить и всё. не будет циклической зависимости
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы