如何在级联上删除

时间:2018-11-14 15:11:10

标签: java java-ee

我一直在练习Java EE和Angular v.6的休息,现在需要删除条目,但是我无法实现它,因为我有下一个实体:

sucursal(id,nombre,descripcion)。

emppleado(id,nombre,apellido,cedula,fecha_registro,id_sucursal)。

自动(id,nombre,descripcion,placa,precio,fecha_ingreso,marca,id_empleado)

id_sucursal和id_empleado是外键

我一直在尝试使用sucursal和empleado上的下一个方法来级联删除,但是它不起作用,我不知道它是如何工作的,在编程世界中是新来者

    @Override
public String eliminar(int id) {
    String resultado = "Hasta la vista, baby";
    String sqlCascada = "DELETE sucursal, empleado, auto FROM sucursal s inner join empleado e on s.id = e.id_sucursal inner join auto a on a.id_empleado = e.id WHERE s.id = ?";
    //String sql = "DELETE FROM sucursal where id = ?";
    try
    (
        Connection cn = con.conectar();
        PreparedStatement pst = cn.prepareStatement(sqlCascada, Statement.RETURN_GENERATED_KEYS);
    )
    {
        pst.setInt(1, id);
        pst.executeUpdate();
        JsonObject json = new JsonObject();
        json.addProperty("status", "exito");
        resultado = json.toString();
    }
    catch(Exception ex)
    {
        JsonObject json = new JsonObject();
        json.addProperty("status", ex.getMessage());
        resultado = json.toString();
    }

    return resultado;
}

0 个答案:

没有答案