【问题标题】:hibernate envers 3.6 forRevisionsOfEntity returns Object instead MyEntityhibernate envers 3.6 forRevisionsOfEntity 返回 Object 而不是 MyEntity
【发布时间】:2014-10-21 17:14:54
【问题描述】:

我用下一个查询查询 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

谢谢。

【问题讨论】:

  • 我发现我的错误,原来我使用了错误的方法。除了 forRevisionsOfEntity 方法之外,还必须使用方法 forEntitiesAtRevision

标签: hibernate classcastexception hibernate-envers


【解决方案1】:
AuditQuery  qry = reader.createQuery().forRevisionsOfEntity(BitacoraControl.class, true, true)

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

【讨论】:

    猜你喜欢
    • 2016-03-05
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 2017-04-11
    • 2019-01-20
    • 1970-01-01
    • 2021-10-04
    相关资源
    最近更新 更多