Я пытаюсь выучить весну. У меня есть 2 класса в двунаправленных отношениях друг с другом:
public class MovieGenre {
// some code
@ManyToMany(mappedBy = "genres")
@JsonBackReference
private Set<Movie> movies = new HashSet<>();
и
public class Movie {
// some code
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(
name = "movie_movie_genre",
joinColumns = @JoinColumn(name = "movie_id"),
inverseJoinColumns = @JoinColumn(name = "movie_genre_id"))
@JsonManagedReference
private Set<MovieGenre> genres = new HashSet<>();
Аннотация JSON помогает получить представление JSON без использования IllegalStateException или Map Exceptions.
Из конечной точки MovieController я могу получить
{
"id": 1,
"genres": [
{
"genreId": 1,
"genreName": "action"
},
{
"genreId": 5,
"genreName": "romance"
}
],
"_links": {
"self": {
"href": "http://localhost:8080/api/v1/movie/id/1"
}
}
}
Как видите, список жанров включен. Но когда я вызываю конечную точку MovieGenreController:
{
"genreId": 1,
"genreName": "action",
"_links": {
"self": {
"href": "http://localhost:8080/api/v1/moviegenre/id/1"
}
}
}
@ JsonBackReference скрывает список фильмов.
Есть ли способ управлять этим отношением, чтобы я мог получить доступ к списку фильмов из класса MovieGenre?