JPA OneToMany与JoinTable的关系 - 无法删除元素

时间:2017-07-21 07:43:54

标签: java hibernate jpa

我有一些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。

非常感谢。

0 个答案:

没有答案