【问题标题】:Delete record only from parent entity仅从父实体中删除记录
【发布时间】:2019-03-23 13:59:02
【问题描述】:

在我的项目中,我有 2 个与 @OneToMany 和 @ManyToOne 相关的实体。 检查这些图片 -

我的问题-当我从 Supplies 中删除记录时,也会从 Products 中删除记录,但我没有不会。如果我删除 CascadeType.ALL 然后再次尝试此操作会出现错误

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:无法删除或更新父行:外键约束失败(shop.products,约束FK65gu3e053fcnl70hwq8vp7b2g外键(supplies)参考@ 987654329@(id))

这个问题怎么解决???

【问题讨论】:

    标签: java spring hibernate


    【解决方案1】:

    哦,经过 30 分钟的思考,我解决了。我刚刚在我的删除方法中添加了这段代码

    @Override
    public void deleteSupply(Long id) {
        Supplies supplies = supplyRepository.findById(id).orElse(null);
        Set<Products> productsList = supplies.getProducts();
        productsList.forEach(products -> products.setSupplies(null));
    
        supplyRepository.deleteById(id);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-11
      • 2013-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-02
      • 1970-01-01
      相关资源
      最近更新 更多