我有一些JPA关系问题。
我的实体中有一个关于连接表的OneToMany关系,名为" Requete" :
@OrderBy("index")
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinTable(name = "requete_select_colonne", joinColumns = @JoinColumn(name = "requete_id"), inverseJoinColumns = @JoinColumn(name = "select_colonne_id"))
private SortedSet<SelectColonne> selectColonnes = new TreeSet<>(Comparator.comparing(SelectColonne::getIndex));
当我试图删除selectColonnes的一个元素时,我收到此错误:
requete.getSelectColonnes().remove(selectColonne);
this.requeteRepository.save(requete);
Caused by: org.postgresql.util.PSQLException: ERREUR: UPDATE ou DELETE sur la table « select_colonne » viole la contrainte de clé étrangère
« fk_requete_select_colonne_colonne » de la table « requete_select_colonne »
Détail : La clé (id)=(552) est toujours référencée à partir de la table « requete_select_colonne ».
我认为它试图在连接表requete_select_colonne中删除表select_colonne中的条目。
任何推荐?如果可能的话,我想保留joinTable。
非常感谢。