San*_*gen 1 java hibernate hibernate-envers
使用 Hibernate Envers (4.1.9.Final)。尝试获取实体已更改为特定类型且符合特定标准的所有修订(日期、修订号)。
这是我目前拥有的代码:
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();
Run Code Online (Sandbox Code Playgroud)
InventoryItem。因此,如果InventoryItem在修订版中更改了两个s,我会得到两个元素——我不想要那样。InventoryItems,我认为这有点沉重——我不想要那样。如何获得不同的修订集合(日期、修订号)?
根据亚当的回答,这是我实现的代码。我会将他的答案标记为已接受的答案。
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());
Run Code Online (Sandbox Code Playgroud)
因此,query.getResultList()将返回 的集合Object[],其中每个Object[]包含:
Object[0]: 修订号为 intObject[1]: 修订日期为java.util.Date,对应created revisionProperty| 归档时间: |
|
| 查看次数: |
4498 次 |
| 最近记录: |