Jpa ManyToMany 连接表更新

时间:2021-07-01 20:35:01

标签: spring-boot hibernate spring-data-jpa

我有两个实体 Personnel 和 Qualfication 和 @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中的Qualification id并刷新所有人员id时获得相同的Qualification id。

当我更改人员 ID 时同样的问题。

0 个答案:

没有答案