在Jooq中,如何让"delete"语句return删除记录?

In Jooq, how to make the "delete" statement return the deleted records?

在我的项目中,有2个table,ordersorder_payments

后者是一个包含 2 列的联接 table,order_idpayment_id

为了效率我没有用FK

当我从orderstable中删除一些订单时,我需要根据order_id字段从paymentstable中删除相关记录。

因此,在使用DELETE语句删除订单后,我希望返回已删除订单的order_ids,以便我可以使用它们来检索order_payments table并删除相关记录。

有人可以教我怎么做吗?

我试过了

    private List<OrdersRecord> deleteOrders(OrderQuery orderQuery, DSLContext dsl) {
        DeleteQuery<OrdersRecord> deleteQuery = dsl.deleteQuery(ORDERS);
        deleteQuery.addConditions(orderQueryConditions(orderQuery));
        deleteQuery.setReturning();
        deleteQuery.execute();
        return deleteQuery.getReturnedRecords();
    }

但是返回了一个空列表。

我哪里做错了?

提前致谢!

我不认为这在 MySQL 8.0.21 中是可能的: https://bugs.mysql.com/bug.php?id=83139

如果您知道使用本机 MySQL(任何版本)执行此操作的方法,或以某种方式模拟它,请在此处记录:https://github.com/jOOQ/jOOQ/issues/6865