Не удаётся вывести данные из сущности
Никак не удаётся вывести на экран квартиры из сущности House всем списком и отдельно по ID. Когда перехожу на страницу, то выдаёт ошибку, что бесконечный цикл
Could not write JSON: Infinite recursion (StackOverflowError); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: task.homerent.model.House["city"]->task.homerent.model.City$HibernateProxy$ikPQOTJQ["house"])
Ссылка на код
Вот так выглядит Контроллер:
HouseRestController
@GetMapping("/{id}")
@PreAuthorize("hasAuthority('user:read')")
public House userPostInfo(@PathVariable(value = "id") Long id) {
Optional<House> house = houseRepository.findById(id);
List<House> res = new ArrayList<>();
house.ifPresent(res::add);
return res.stream().filter(houses -> houses.getId().equals(id))
.findFirst()
.orElse(null);
}
Ответы (1 шт):
Автор решения: Komdosh
→ Ссылка
Ошибка говорит, что при сериализации у вас возникла бесконечная зависимости house->city->house.
Вам нужно разрешить эту зависимость, например так:
public class City {
@JsonBackReference
private Set<House> house;
}
public class House {
@JsonManagedReference
private City city;
}