我们的团队在 Hibernate Envers 和 Spring AOP 之间做出选择。基本上,我们希望审计数据库事务,尤其是当用户从数据库中删除对象时。但是,我们不想审计所有表。我们知道,使用 Spring AOP,我们可以将其用作横切关注点,并且每当delete()
在 DAO 中执行该方法时,我们就可以记录删除。我们的问题是:Hibernate Envers 更容易和更适合这个问题,还是 Spring AOP 是可接受的解决方案?任何方向,有一些证据,我们的团队都会非常感激。
问问题
1071 次
1 回答
2
我刚刚开始使用 Hibernate Envers 进行审计,到目前为止我对它非常满意。优点:
1. 我们实际上不必编写一行代码。
2.它还通过RevisionEvent自动捕获用户名和时间戳,配置非常简单。
3.代码遵循JPA注解,不是hibernate。
4.如果有人在使用休眠,那么为什么不使用它的全部功能。
5.此功能(Envers)是专门为捕获审计而开发的。人们不断致力于升级并使其更加用户友好。
6.One 可以编写自己的事件监听器,如更新、删除、插入等:
缺点:
1.创建大量 AUD_ 表。但是我们可以配置我们想要审计的表。
2.它永远不会自动捕获HQL查询。
于 2013-07-19T06:38:14.000 回答