Я создаю клон Twitter, который имеет отношения OneToMany / ManyToOne с пользователями и твитами (один пользователь, много твитов и т. Д.).
Я использую двунаправленные отношения и использую @JsonManagedReference и @JsonBackReference для обработки бесконечной рекурсии, однако, поскольку бесконечная рекурсия была решена, теперь я не могу получить информацию о пользователях из каждого твита.
Доменные объекты:
Пользовательский объект
@OneToMany(mappedBy = "user", fetch = FetchType.LAZY)
@JsonBackReference
private Set<Tweet> tweets = new HashSet<>();
Tweet Object
@ManyToOne
@JoinColumn(name = "user_id")
@JsonManagedReference
private User user;
Ответы API
ПОЛУЧИТЕ пользователей (это выглядит хорошо)
[
{
"id": 1,
"name": "Alex",
"tweets": [
{
"id": 6,
"tweet": "cook one meal, doesn't make u a chef"
},
{
"id": 8,
"tweet": "Red fox jumped over the barn"
}
]
}
]
ПОЛУЧИТЬ твиты (этот не очень хороший, у меня нет информации о пользователях в каждом твите, но если я добавлю ее, то снова будет бесконечная рекурсия)
[
{
"id": 6,
"tweet": "cook one meal, doesn't make u a chef"
},
{
"id": 8,
"tweet": "Red fox jumped over the barn"
}
]