Java JPA OneToMany与JoinTable的关系-无法删除元素
我有一些JPA的关系问题 在我的实体中,我与一个名为“Requete”的joinTable有着这种一对一的关系: 我认为它试图在连接表requete_select_colonne中的条目之前删除表select_colonne中的条目 有什么建议吗?如果可能的话,我想保持连接Java JPA OneToMany与JoinTable的关系-无法删除元素,java,hibernate,jpa,Java,Hibernate,Jpa,我有一些JPA的关系问题 在我的实体中,我与一个名为“Requete”的joinTable有着这种一对一的关系: 我认为它试图在连接表requete_select_colonne中的条目之前删除表select_colonne中的条目 有什么建议吗?如果可能的话,我想保持连接 非常感谢。如果元素不知道所有者,那么您必须首先从所有者集合中删除。感谢您的回答@neil,这就是我正在做的:requete.getSelectColonnes().remove(selectColonne)this.requ
非常感谢。如果元素不知道所有者,那么您必须首先从所有者集合中删除。感谢您的回答@neil,这就是我正在做的:
requete.getSelectColonnes().remove(selectColonne)代码>this.requeteRepository.save(requete)代码>因此,在从集合中删除后执行刷新,以强制您的JPA提供程序首先执行该操作。即使我刷新,这也不起作用。我刚刚注意到,删除SortedSet的第一个元素是可行的。我不明白为什么。。。
@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));
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 ».