gpt4 book ai didi

hibernate - 如何从我的审核表中删除条目?

转载 作者:行者123 更新时间:2023-12-03 15:46:17 25 4
gpt4 key购买 nike

我目前正在使用Hibernate Envers。

如何删除审核表中与我要删除的实体相关的条目?我的实体与其他实体没有关系。

我发现必须在自定义监听器的onPostDelete方法中执行此操作:

import org.hibernate.envers.event.AuditEventListener;
import org.hibernate.event.PostCollectionRecreateEvent;
import org.hibernate.event.PostDeleteEvent;
import org.hibernate.event.PostInsertEvent;
import org.hibernate.event.PostUpdateEvent;
import org.hibernate.event.PreCollectionRemoveEvent;
import org.hibernate.event.PreCollectionUpdateEvent;

public class MyListener extends AuditEventListener {

...
@Override
public void onPostDelete(PostDeleteEvent arg0) {
// TODO Auto-generated method stub
super.onPostDelete(arg0);
}
...

}

我已经阅读了文档,论坛和许多内容,但我无法弄清楚。也许这是不可能的,我不知道。

以前有人做过吗?

最佳答案

好吧,对于那些想知道的人,我已经完成了50%。

感谢Hibernate Envers的创建者Adam Warski,我引用:

"id" is a hibernate keyword for the id of an entity, whatever the names is; in case of audit entities, the id is composite and is called "originalId". Try:


"delete from full.package.name.User_AUD u where u.originalId.id = :userid" 

但是现在,我也想删除我的revinfo表中与audit表相关的条目。

如果有人有线索,请告诉我。

关于hibernate - 如何从我的审核表中删除条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2791148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com