У меня есть две сущности, одна из них "миссионер", а другая - класс.и у меня есть другой объект под названием dept_gen.Оценка имеет встроенный идентификатор, который содержит код оценки и код dept_gen.
класс и миссионеры имеют отношение один ко многим, один класс имеет много миссионеров.
grade и dept_gen имеют отношение многие к одному.один dept_gen имеет много оценок.и миссионеры имеют отношение один к одному с dept_gen, один dept_gen имеет много миссионеров.и при тестировании с почтальоном я заполнил все таблицы, чтобы они не были пустыми.
и есть сущность dept_gen,
Я получаю сообщение об ошибке, когда пытаюсь опубликовать «миссионерскую работу».и когда я пытаюсь опубликовать миссию без оценки, она работает.
missionnaire:
@Id
@Column(name="CIN")
private String cin;
@JoinColumn(name = "CODE", referencedColumnName = "CODE")
@ManyToOne
private DeptGen code;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumns({
@JoinColumn(name = "CODE",referencedColumnName = "CODE" , insertable=false, updatable=false)
, @JoinColumn(name = "COD_GRD",referencedColumnName="COD_GRD" , insertable=false, updatable=false)})
private Grade grade;
and this is grade :
@EmbeddedId
private GradePK gradePK;
...other columns ..
@MapsId("code")
@JoinColumn(name = "CODE", referencedColumnName = "CODE", nullable = false, insertable = false, updatable = false)
@ManyToOne(optional = false, fetch = FetchType.EAGER)
private DeptGen deptGen;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "grade", fetch = FetchType.EAGER)
private Collection<Missionnaire> missionnaireCollection;
@JsonIgnore
public Collection<Missionnaire> getMissionnaireCollection() {
return missionnaireCollection;
}
.... а это - gradePK: @Embeddable открытый класс GradePK реализует Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "CODE")
private String code;
@Column(name = "COD_GRD")
private String codGrd;
, и это класс dept_gen с момента миссиии оценка имеет отношение к нему:
private static final long serialVersionUID = 1L;
@Id
@Column(name = "CODE")
private String code;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "deptGen")
@JsonIgnore
private Collection<Fonction> fonctionCollection;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "deptGen")
@JsonIgnore
private Collection<Grade> gradeCollection;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "code")
@JsonIgnore
private Collection<Missionnaire> missionnaireCollection;