当前位置: 首页 > 知识库问答 >
问题:

Hibernate Envers-获取已更改的字段

令狐高洁
2023-03-14

我有一个相当复杂的html" target="_blank">数据库结构,我试图审计。目前我有Envers运行,它审计对每个对象所做的更改。这工作真的很好!

现在我想在UI上显示一些审计信息。对象/表变得相当复杂,因此我正在寻找一种方法来查看审计中哪些字段发生了更改。目前,Envers存储每个对象的快照,并标记有修订id。我可以查看每个对象的修订,然后手动查询以查看发生了什么变化,但我想知道是否有办法让Envers存储哪些字段发生了变化。这可能吗?我在2011年发现了这个链接,它建议手动检查每个对象字段。我关心的是速度。我有很多相关的对象,我可能只有一个更新的字段。我必须查询许多字段才能找到已更改的字段。

是否可以存储已更改的字段?

谢啦

编辑

我应该说,我使用的是REVCHANGES表,所以我可以看到在哪些修订中发生了哪些变化,但这只是在实体级别,而不是字段级别

共有1个答案

公西国发
2023-03-14

在较新的Envers版本中,可以使用布尔标志跟踪每个修订时更改的特性。见:

http://docs.jboss.org/hibernate/core/4.1/devguide/en-US/html/ch15.html#envers-跟踪属性更改

 类似资料:
  • 问题内容: 我有一个相当复杂的数据库结构,正在尝试进行审核。目前,我正在运行Envers,并且它审核对每个对象所做的更改。这真的很好! 我现在想在用户界面上显示一些审核信息。对象/表变得非常复杂,因此我正在寻找一种方法来查看审核中哪些字段已更改。当前存储每个带有修订ID的对象的快照。我可以查看每个对象的修订版本,然后手动查询以查看发生了什么更改,但是我想知道是否有一种方法可以存储哪些字段已更改。这

  • 问题内容: 我将sqlalchemy用作我的orm,并用作Base。 我的问题是,如何知道用户已被修改,以及如何在不再次查询数据库的情况下获取原始值? 提前致谢! 更新 我发现一种方法可以获取字段的历史值,但是我不确定它是否适合我的目的。 因此,我们可以检查的值,但这是最好的方法吗? 问题答案: \要查看是否已修改,可以检查是否。如果它是您要撤消它,则可以执行 但是请注意,这会将会话的所有内容回滚

  • 创建一个在PHP服务器端无法理解的小管理员行更新程序。我希望sql查询只更新页面上已更改的$u POST字段,这样它就不会循环所有100条左右的记录。 我的做法如下: 1) jQuery侦听已更改的输入字段,然后为已更新的用户字段分配名称属性 2) PHP检测已设置更新的用户字段。 3) 在提交重新加载时,PHP检测到该输入,并按行ID更新SQL。如何确保PHP知道哪个输入字段指向哪个行ID? j

  • 问题内容: 假设我检索一个实体并使用setter修改了它的状态: 是否有可能检索已更改的字段数组? 在我的例子的情况下,我想检索结果 PS:是的,我知道我可以修改所有访问器并手动实现此功能,但是我正在寻找一些方便的方法 问题答案: 您可以使用 获取。 然后只需通过触发变更集计算(仅适用于托管实体)。 您也可以使用类似的方法,例如,如果您确切知道要检查的内容而无需遍历整个对象图。 之后,您可以用来检

  • 问题内容: 我需要使用JSlider实时获取输入,这意味着它将在不按任何按钮的情况下返回输入。我有滑块的这段代码: 甚至有可能这样做吗?我以为可以使用actionListener,但是没有成功。 问题答案: 例如,可以使用ChangeListener

  • 我们在框架中有多个子模块,scss文件夹有多个可能的路径,例如: fW/submodule/_wwW/css/foo/bar/scss/ fW/submodule/subsubmodule/_www/css/foo/bar/fooagain/scss/ fw/submodule/views/tpl/library/libraryname/default/css/foo/bar/scss/ 等等。

  • 问题内容: 我要实现的事情是,无论何时更改下拉列表,我都希望更改之前的下拉列表的值。我正在使用1.3.2版的jQu​​ery并使用on change事件,但是更改后得到的值是。 可以说,当我在onchange事件中将其更改为堆栈时(即,当我将其更改为堆栈时),现在选择了My选项,我希望它是先前的值,即本例中的期望值。 如何做到这一点? 编辑: 就我而言,我在同一页面中有多个选择框,并希望将相同的内

  • 问题内容: 我正在尝试使用包含Latex样式方程式的AngularJS双向绑定文本。我想调用MathJax格式化方程式,但是我不确定在AngularJS完成更改模型后确保调用MathJax的最佳方法。我想我需要回调。这是我的JavaScript: } 这是我的HTML: 小提琴在这里:http : //jsfiddle.net/LukasHalim/UVjTD/1/。您会注意到,即使您单击两次更新