У меня есть эти объекты с отношениями:
@Entity
@Table(name = "data_model")
public class DataModel {
@Id
@GeneratedValue
@Column(name = "model_id")
private Integer id;
@Column(name = "name")
private String name;
@OneToMany(mappedBy = "dataModel", cascade = {CascadeType.PERSIST, CascadeType.REMOVE, CascadeType.MERGE})
private List<OutputField> outputFields;
}
и:
@Entity
@Table(name = "data_model_output_field")
public class OutputField {
@Id
@GeneratedValue
@Column(name = "output_field_id")
private Integer id;
@Column(name = "sourceTable")
private String sourceTable;
@JsonIgnore
@ManyToOne(optional = false, fetch = FetchType.LAZY, cascade = CascadeType.REFRESH)
@JoinColumn(name = "model_id")
private DataModel dataModel;
}
, и я хочу десериализовать этот json в Java объект:
{
"name": "New data model with join",
"outputFields": [
{
"sourceTable": "r"
},
{
"sourceTable": "ri"
}
]
}
Когда я пытаюсь десериализовать его, используя Джексона, я получаю это:
Как я могу поместить родительскую ссылку в дочерний элемент, используя Джексона?