首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Hibernate Envers获得标准的修订。

Hibernate Envers获得标准的修订。
EN

Stack Overflow用户
提问于 2014-08-28 06:35:41
回答 2查看 4.9K关注 0票数 1

使用Hibernate Envers (4.1.9.Final)。试图获取实体已更改的、符合特定标准的所有修订(日期、修订号)。

这是我目前拥有的代码:

代码语言:javascript
运行
复制
    AuditReader auditReader = AuditReaderFactory.get(entityManager);
    AuditQuery query = auditReader.createQuery()
            .forRevisionsOfEntity(InventoryItem.class, false, true)
            .add(AuditEntity.property("section_uuid").eq(sectionUuid))
            .addOrder(AuditEntity.revisionNumber().desc());
    List<Object[]> revisions = query.getResultList();
  1. 这将为每个更改的InventoryItem返回一个元素。因此,如果在一个修订版中更改了两个InventoryItem,我会得到两个元素--我不想那样做。
  2. 它还返回了实际的InventoryItem,我认为这有点重--我不想那样。

如何获得不同的修订集合(日期、修订编号)?

EN

Stack Overflow用户

发布于 2014-09-01 22:55:13

根据Adam的回答,这是我实现的代码。我会把他的答案标记为已被接受的答案。

代码语言:javascript
运行
复制
AuditReader auditReader = AuditReaderFactory.get(entityManager);
AuditQuery query = auditReader.createQuery()
    .forRevisionsOfEntity(InventoryItem.class, false, true)
    .addProjection(AuditEntity.revisionNumber().distinct())
    .addProjection(AuditEntity.revisionProperty("created"))
    .add(AuditEntity.property("section_uuid").eq(sectionUuid))
    .addOrder(AuditEntity.revisionNumber().desc());

因此,query.getResultList()将返回一个Object[]集合,其中每个Object[]包含:

  • Object[0]:修订本编号为int
  • Object[1]java.util.Date的修订日期,对应的created revisionProperty
票数 6
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25542231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档