hibernate envers 3.6 forRevisionsOfEntity返回Object而不是MyEntity

时间:2014-10-21 17:14:55

标签: hibernate classcastexception hibernate-envers

我使用下一个查询

查询table_aud
public List<BitacoraControl> bitacoras(Long bitacoraControlId){
    AuditReader reader = AuditReaderFactory.get(super.getEntityManager());
    AuditQuery  qry = reader.createQuery().forRevisionsOfEntity(BitacoraControl.class, false, true)
            .add(AuditEntity.id().eq(bitacoraControlId))
            .addOrder(AuditEntity.revisionNumber().asc())
            ;

    return qry.getResultList();
    }

在我的测试用例中,我尝试迭代列表。

List<BitacoraControl> bitacoras = auditDao.bitacoras(bitacoraControlId);//call may dao.

for(BitacoraControl bitacora : bitacoras ){
   log.debug("id: " + bitacora.getId);
}

抛出异常 java.lang.Object无法强制转换为BitacoraControl

谢谢。

1 个答案:

答案 0 :(得分:0)

AuditQuery  qry = reader.createQuery().forRevisionsOfEntity(BitacoraControl.class, true, true)

second arg:selectEntitiesOnly 如果为true,则执行此查询将返回entites列表而不是三元素数组列表。