Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA OneToMany与JoinTable的关系-无法删除元素_Java_Hibernate_Jpa - Fatal编程技术网

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

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

我有一些JPA的关系问题

在我的实体中,我与一个名为“Requete”的joinTable有着这种一对一的关系:

我认为它试图在连接表requete_select_colonne中的条目之前删除表select_colonne中的条目

有什么建议吗?如果可能的话,我想保持连接


非常感谢。

如果元素不知道所有者,那么您必须首先从所有者集合中删除。感谢您的回答@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 ».