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

如何获取具有Hibernate envers 的已审核表中的所有数据?

毋宏茂
2023-03-14

我有一个项目,我有我所有的实体。我还有另一个项目,我试图获取每个给定实体的每个已审核表的所有数据。使用Hibernate的envers,我知道如何在以前的版本中检索对象

AuditReaderFactory.get(Session sess) and Object AuditReader.find(Class<T> cls, Object primaryKey, Number revision)

但是我不知道如何使用rev et typerev字段在经过审计的X中获取所有记录数据。

有什么想法吗?

共有1个答案

卫嘉泽
2023-03-14

因为我想从一个审计的表中获取大量数据(在一些表格中,我发现数百万个修订版,所以要得到它们需要花费大量时间,导致服务器出现抖动,特别是当我使用Hibernate的envers时,这就是为什么我改用本机查询,我发现了很多可能性和功能。

 类似资料:
  • 问题内容: 我想学习如何从MS SQL数据库中获取具有标识列的所有表的列表。 问题答案:

  • 问题内容: 我正在使用NHibernate,并且正在寻找一种解决方案,该解决方案将允许我审核实体中所有字段的更改。我希望能够为每个实体(例如,用户-> UsersHistory)创建一个历史表,该表将具有与用户表相同的结构,并具有其他字段,例如操作类型(更新,删除),进行更改的用户的userid等。不想为每个实体定义此类。我正在寻找类似的东西(即),因为这些条目不属于我的域,仅用于准备对该实体所做

  • 我在试图让被审计的实体引用未被审计的实体时遇到问题。在我们的应用程序中,某些实体在没有使用hibernate的情况下被引导,这些实体是我们的元模型,不需要被审计。 如果我执行代码: 一切都很顺利,但是如果我试图获得B的版本,就会出现错误: 组织.Hibernate.对象不发现例外:不存在具有给定标识符的行 [元foo] Envers通过对metafoo实体的惰性引用成功地查找了B实体。然而,当尝试

  • 问题内容: 是否有一种快速的方法可以从中的所有表获取所有列名,而不必列出所有表? 问题答案:

  • 问题内容: 我有一组服务器,每个服务器都装有一堆可以压缩的文件。服务器均具有不同数量的核心。如何编写bash脚本为每个核心启动gzip,并确保gzip没有压缩相同的文件? 问题答案: 如果您使用的是Linux,则可以使用GNU的xargs启动与内核一样多的进程。 find -print0 / xargs -0保护文件名中的空格 xargs -n 1表示每个文件一个gzip进程 xargs -P指定

  • 问题内容: 我已经尝试过此代码 但这会引发错误: 如何获取所有表名? 问题答案: 经过检查,测试和运行。试试这个代码: 我假设,在一行的某个点上,您将获取一个 表名 列表,以可能以a 或某种形式显示。不只是展示吐司。 未经测试的代码。 这就是我的首要想法。在生产应用中使用它之前,请先进行测试。;-) 在这种情况下,请考虑对上面发布的代码进行以下更改: