在删除实体之前,如何在 @PreRemove 带注释的方法内更新实体?

Tim*_*Tim 5 hibernate jpa quarkus-panache

我想在实体被删除之前更新它(因为数据库触发器稍后将使用该值)。

所以我在我的 EntityListener 中尝试了这个:

    @PreRemove
    void onRemove(Object entity) {
        CurrentUser currentUser = CDI.current().select(CurrentUser.class).get();
        if (currentUser != null && entity instanceof BaseEntity) {
            BaseEntity baseEntity = (BaseEntity) entity;
            baseEntity.deletedBy = currentUser.userId;
            baseEntity.persistAndFlush();
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是,在删除之前,更改不会持久保存到数据库中- 可能是因为删除事务已经启动。

我怎样才能做到这一点?