Есть связанные объекты Master - Detail
public class Master {
private long id;
@OneToMany(mappedBy = "detail")
@JsonIgnore
private Collection<Detail> detail;
}
public class Detail {
private long id;
@ManyToOne
@JoinColumn(name = "master_id", referencedColumnName = "id", nullable = false)
@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id")
@JsonIdentityReference(alwaysAsId=true)
private Master master;
}
Для того чтобы в JSON ответе при получении списка Detail не получать кучу ссылок на Master стоит
@JsonIdentityReference(alwaysAsId=true)
. В результате чего в ответе получаю ID вместо объекта Master.
Все работает прекрасно, пока не приходится делать PUT/POST. Master по ID обратно не десериализуется.
Как правильно это дело исправить?