Обновление таблицы соединений Jpa ManyToMany

avatar
taha manar
1 июля 2021 в 20:35
43
0
0

У меня есть две сущности "Персонал" и "Квалификация" с @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 в базе данных и обновляю идентификатор всего персонала, я получаю один и тот же идентификатор квалификации.

Та же проблема при изменении идентификатора персонала.

Источник

Ответы (0)