如果我只想保留删除的实体,我可以使用Hibernate Envers吗?
问题描述:
现在我们不删除实体,但在表中设置一个标记为“不活动”(并将这些实体过滤为正常操作)。有人指出我休眠Envers,但它看起来有点像矫枉过正。我的问题是:如果我只想保留删除的实体,我可以使用Hibernate Envers吗?
- 我们可以使用Envers来执行我们的机制(活动/非活动标志)吗?
- 如果不是,Envers可以将已删除实体的副本存储在归档表中,但是不要执行任何版本控制/审计?
- 这个任务是否有轻量级的选择?
答
你可以在这里使用Envers,通过扩展审计监听器并忽略插入/更新事件,但我同意这是一个矫枉过正。
只需在专用的DAO方法中使用活动标志或编写一个简单的Hibernate事件监听器就可以更好地适用于此任务。