2014-11-25 79 views
1

我想从实体中恢复所有版本,但我的代码所有方式只返回1版本,这是我现在这样做的方式。休眠envers 3.6从实体获得所有版本

return AuditReaderFactory.get(super.getEntityManager()) 
      .createQuery() 
      .forEntitiesAtRevision(BitacoraControl.class, bitacoraControlId.intValue()) 
      .add(AuditEntity.id().eq(bitacoraControlId)) 
      .addOrder(AuditEntity.revisionNumber().asc()) 
      .getResultList() 
      ; 

回答

2

forEntitiesAtRevision在检索特定修订符合条件的实体 - 因此你顶多一个结果。

您应该使用forRevisionsOfEntity来获取特定实体的修订列表。

+0

谢谢,它工作正常,现在的代码看起来像这样。 '返回AuditReaderFactory.get(super.getEntityManager()) \t \t \t .createQuery() \t \t \t .forRevisionsOfEntity(BitacoraControl.class,真,真) \t \t \t。新增(AuditEntity.id()。EQ( 。bitacoraControlId)) \t \t \t .addOrder(AuditEntity.revisionNumber()递增()) \t \t \t .getResultList();' – OJVM 2014-11-28 15:17:56