获取删除父级后所有已删除实体的ID?

时间:2018-07-23 08:09:43

标签: java hibernate jpa

让我们说我有一个Parent对象,其中有多个cascadeType = CascadeType.REMOVE, orphanRemoval = true的孩子。是否可以收集删除父级时删除的所有内容?

如果我记录所有SQL查询,则可以看到已执行多次删除。但是我不知道如何找回所有ID。

1 个答案:

答案 0 :(得分:2)

您可以使用@PreRemove,每当您尝试删除实体时都会调用它。

我已将其用于审计目的,以跟踪已删除的记录。

@Entity
public class Actor extends AbstractBusinessObject{

    @ManyToMany(mappedBy = "cast")
    private Set<Movie> movies;

    // setters and getters

    @PreRemove
    private void removeActorFromMovies() {
        //Executed before the entity manager remove operation is actually 
        // executed or cascaded. This call is synchronous with the remove operation.

    }

}