У меня проблемы с заполнением сущности файлом json при наличии двунаправленного отношения.
Родительский класс:
@Entity
@Table(name = ".....")
public class CpoPipeline implements... {
private String pipelineId;
private String pipelineSource;
private String pipelineVersion;
private Set<CpoPipelineParameter> cpoPipelineParameters;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "cpoPipeline")
public Set<CpoPipelineParameter> getCpoPipelineParameters() {
return this.cpoPipelineParameters;
}
Дочерний класс:
@Entity
@Table(name = ".....")
public class CpoPipelineParameter implements ...{
private String pipelineParameterId;
private CpoPipeline cpoPipeline;
private String pipelineParameterName;
private String pipelineParameterValue;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "pipeline_id", nullable = false)
@JsonIgnore
public CpoPipeline getCpoPipeline() {
return this.cpoPipeline;
}
Json:
{
"cpoPipeline": {
"pipelineId": "1",
"pipelineSource": "C://",
"pipelineVersion": "2.0",
"cpoPipelineParameters": [
{
"pipelineParameterId": "2",
"pipelineParameterName": "Process_Group_Variable_Year",
"pipelineParameterValue": "2020"
},
{
"pipelineParameterId": "1",
"pipelineParameterName": "Process_Group_Variable_Directory",
"pipelineParameterValue": "C://"
}
]
}
}
Когда я пытаюсь заполнить сущность файлом json, родительский идентификатор не входит в дочернюю сущность. Поэтому, когда я пытаюсь сохранить, я получаю сообщение об ошибке:
17: 26: 54.714 [main] ОШИБКА ohejdb c .spi.SqlExceptionHelper - NULL не допускается для столбца "PIPELINE_ID"; SQL оператор: вставить в cpo_pipeline_parameter (pipe_id, pipe_parameter_name, pipe_parameter_value, pipe_parameter_id) значения (?,?,?,?)