2
次のエンティティクラスと1対多の関係でJPA(Hibernate)を使用しています。JPAエンティティから要素を削除するときに、1対多の関係から要素を削除する
Organizationエンティティを永続化すると、それはproyectsテーブルに新しい要素を追加しますが、リストから要素を削除すると、存続(またはマージ)すると何も起こりません。これらの要素がデータベースから削除されるようにします。
また、OneToManyアノテーションでorphanRemoval = trueを試しましたが、動作しません。
@Entity
public class Organization {
@Id
@GeneratedValue
public long internalId;
@Basic
@Column(nullable = false, length = 100)
private String name;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "organization")
private List<Proyect> proyects;
// Getters and Setters
}
これはデータベースでProyectテーブルがNULLに等しい外部キーで更新されます – greuze
@greuze外部キーをNULLに設定するのは、組織からプロジェクトを削除するときに必要なものですか?外部キーを削除しないと、プロジェクトは依然として組織の一部です。 – Thomas
プロジエクトは組織の一部にすぎません(1つのプロイクトは2つの組織に属しません)。したがって、組織のプロイクトリストからプロイクトを削除すると、データベースからも削除されます。 – greuze