Прежде всего, извините, я не могу объяснить себя лучше.
Я программирую пример API, у меня есть POJO (с JPA) под названием Movie, поэтому в моем контроллере я хочу дать ему JSON для вставки Movie.
Фильм обладает свойством @ManyToOne(optional = false)
, относящимся к другому POJO под названием Genre
(idGenre
, Name
)
Я хочу указать в JSON не объект с каждым свойством, а идентификатор, поэтому:
CONTROLLER
@RequestMapping(value = "/sendMovie", method = RequestMethod.POST)
public void setMovie(@RequestBody Movie movie) {
mRepo.save(movie);
}
Фильм
@Entity
public class Movie {
@Id
@Column(name = "ID_MOVIE", nullable = false)
@GeneratedValue(strategy = GenerationType.AUTO)
private Long idMovie;
@Column(name = "NAME")
private String name;
@Column(name = "SYNOPSIS")
private String synopsis;
@Column(name = "POSTER")
private String poster;
@Column(name = "DIRECTOR")
private String director;
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "idGenre")
@JsonIdentityReference(alwaysAsId = true)
@ManyToOne(optional = false)
@JoinColumn(name = "ID_GENRE", referencedColumnName = "ID_GENRE")
private Genre genre;
JSON Я хочу использовать
{
"name": "MATRIX",
"idGenre": 3,
"synopsis": "NEO DOING THINGS",
"poster": "matrix.jpg",
"director": "WACHOWSKIS"
}
Есть ли возможность этого достичь?