无法使用hibernate从表中删除数据

无法使用hibernate从表中删除数据,hibernate,Hibernate,我在网上尝试了很多方法,但都不管用。 我想使用hibernate从数据库中删除数据,但我遇到了以下错误 严重:无法删除或更新父行:外键约束失败(sakilacomanda,约束comanda\u ibfk\u 1外键(IDPRODUS)引用produs(IDPRODUS) 严重:无法将数据库状态与会话同步 comanda表示订单,produs表示产品 代码如下: private void StergeButtonActionPerformed(java.awt.event.ActionE

我在网上尝试了很多方法,但都不管用。 我想使用hibernate从数据库中删除数据,但我遇到了以下错误 严重:无法删除或更新父行:外键约束失败(
sakila
comanda
,约束
comanda\u ibfk\u 1
外键(
IDPRODUS
)引用
produs
IDPRODUS
) 严重:无法将数据库状态与会话同步

comanda表示订单,produs表示产品

代码如下:

    private void StergeButtonActionPerformed(java.awt.event.ActionEvent evt) {
    try{
        org.hibernate.Transaction tx = session.beginTransaction();

        int idprodus = ((Produs)IdProdusComboBox.getSelectedItem()).getIdprodus();
        Produs produs = (Produs) session.get(Produs.class, idprodus);

        session.delete(produs);

        tx.commit();
    }catch(Exception e){
        System.out.println(e.getMessage());
    }
}

这仅仅意味着删除产品是不可能的,因为它将打破数据库中的外键约束。您有产品订单,但您正在尝试删除该产品。你将如何履行这些命令?你必须决定:

  • 您可以在删除产品之前删除引用该产品的订单
  • 或者将订单保存在数据库中,但这些订单不能再引用产品

不执行上述任何操作都会使数据库处于不一致的状态:不存在的产品订单。数据库中的外键约束确保不可能出现这种不一致的状态。

您已经发布了两次“comanda”的映射,而“produs”的映射丢失。@Pino我编辑了它。谢谢你让我知道。