簡體   English   中英

如何在包含一對多關系的類中執行刪除操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM