У меня есть две сущности "Персонал" и "Квалификация" с @ManyToMany.
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class Personnel {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String nom;
private String prenom;
@Column(nullable = true)
private int nbMission;
@OneToMany(mappedBy = "personnel", fetch = FetchType.LAZY)
private List<Indisponibilite> listIndisponibilites;
@ManyToOne
@JoinColumn(name = "grade_id", nullable = false)
private Grade grade;
@ManyToOne
@JoinColumn(name = "specialite_id", nullable = false)
private Specialite specialite;
@ManyToMany
@JoinTable(name = "personnel_qualification", joinColumns = @JoinColumn(name = "personnel_id"),
inverseJoinColumns = @JoinColumn(name = "qualification_id"))
private List<Qualification> listQualification;
}
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class Qualification {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String libelle;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "specialite_id", nullable = false)
private Specialite specialite;
@JsonIgnore
@ManyToMany(mappedBy = "listQualification")
private List<Personnel> listPersonnel;
@JsonIgnore
@ManyToMany(mappedBy = "listQualification")
private List<SousMission> listSousMissions;
}
Проблема заключается в том, что когда я вручную меняю идентификатор квалификации в таблице соединений personnel_qualification
в базе данных и обновляю идентификатор всего персонала, я получаю один и тот же идентификатор квалификации.
Та же проблема при изменении идентификатора персонала.