如何使用hibernate envers获取审计表的行数

时间:2014-02-20 19:53:55

标签: hibernate projection hibernate-envers audit-tables

在审计表中,没有这样的标准,我们可以使用Criteria.setProjection(Projections.rowCount())来获取查询的行数。

我们可以使用AuditQuery来做类似的事情。但在这种情况下我找不到如何设置预测。 AuditQuery还有一个setProjection方法,但它需要AuditProjection作为参数。是否有类似的事情setProjection(rowCount)

由于

1 个答案:

答案 0 :(得分:8)

您可以对给定字段进行计数,例如:

getAuditReader().createQuery()
    .forRevisionsOfEntity(SomeEntity.class, false, true)
    .addProjection(AuditEntity.id().count()).getSingleResult()

或者您可以计算修订号:

getAuditReader().createQuery()
    .forRevisionsOfEntity(SomeEntity.class, false, true)
    .addProjection(AuditEntity.revisionNumber().count()).getSingleResult()