= "cv")
public class Cv {
// Cv
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@NonNull
@Column(name = "id_resume")
private Integer idResume;
@NonNull
@Column(name = "update_date")
private Timestamp date;
@Column(name = "link_download")
private String linkDownload;
@Column(name = "link_view")
private String linkView;
@Column(name = "status")
private String status;
// cv_additional
// cv_personal_info
@OneToOne(cascade = {CascadeType.DETACH,
CascadeType.MERGE,
CascadeType.PERSIST,
CascadeType.REFRESH})
@JoinColumn(name = "id_resume")
private CvPersonalInfo cvPersonalInfo;
}
Вторая таблица:
@Entity()
@Data
@DynamicInsert
@DynamicUpdate
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(of = "id")
@SelectBeforeUpdate
@Table(name = "cv_personal_info")
public class CvPersonalInfo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@NonNull
@Column(name = "id")
private Integer id;
@Column(name = "name")
private String name;
@Column(name = "middle_name")
private String middleName;
@Column(name = "sur-name")
private String surName;
@Column(name = "date_birth")
private String dateBirth;
@Column(name = "gender")
private String gender;
@Column(name = "city")
private String city;
@Column(name = "id_resume")
private Integer idResume;
@OneToOne(cascade = {CascadeType.DETACH,
CascadeType.MERGE,
CascadeType.PERSIST,
CascadeType.REFRESH},
mappedBy = "cvPersonalInfo")
private Cv cv;
@OneToMany(cascade = {CascadeType.DETACH,
CascadeType.MERGE,
CascadeType.PERSIST,
CascadeType.REFRESH})
@JoinColumn(name = "id_personal_info")
private List<CvAdditionalCity> cvAdditionalCity;
public void addAdditionalCity(CvAdditionalCity additionalCity) {
if (cvAdditionalCity == null) {
cvAdditionalCity = new ArrayList<>();
}
cvAdditionalCity.add(additionalCity);
// additionalCity.setPersonalInfo(this);
}
}
На выходе получаем json, в котором в объекте cvPersonalInfo в поле idResume": null (должно быть 51, из обьекта Cv поле "idResume": 51):
{
"idResume": 51,
"date": null,
"linkDownload": "link",
"linkView": null,
"status": null,
"cvPersonalInfo": {
"id": 40,
"name": null,
"middleName": null,
"surName": null,
"dateBirth": null,
"gender": null,
"city": "Odessa",
"idResume": null,
"cv": null,
"cvAdditionalCity": [
{
"id": 25,
"idPersonalInfo": null,
"additionalCity": "Kiev"
}
]
}
}
Вопрос:
Как сделать что бы столбец форенкей заполнялся?
Я конечно понимаю, что можно сначала сохранить Cv, тут же его вернуть и присвоить значение полю idPersonalInfo, но оно же должно автоматически заполняться???
Pastebin.com
Обсуждают сегодня