[英]How to perform delete operation in classes which consists one to many relationship
This is my product Entity
@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@NotNull
private String name;
private String cancellable;
private String returnable;
@NotNull
private String brand;
private boolean active;
@JsonIgnore
@OneToMany(mappedBy = "product",cascade = CascadeType.ALL)
private Set<ProductVariation> productVariationSet;
}
This is Product Variant Entity
@Entity
public class ProductVariation {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String ProductName;
@NotNull
private int quantityavailable;
@NotNull
private int price;
private String details;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "product_id")
private Product product;
}
當我試圖按 ID 刪除產品時,我收到了類似的錯誤
product
:無法刪除或更新父行:外鍵約束失敗( mywebapp
product_variation
,CONSTRAINT FKpryf02se86hpv5v7xn5afye4v
)( product_id
參考) id
我如何更正此錯誤並刪除產品,使其所有變體也被刪除。
您定義的產品 class 中的級聯操作會自動刪除產品的變體。 只需從字段“private Set productVariationSet”和字段“private Product product”中刪除@JsonIgnore。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.