gpt4 book ai didi

java - Envers - 显示具有关系的审计数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:29:49 25 4
gpt4 key购买 nike

  • 我在我的实体中添加了@Audited
  • 我创建了我的监听器以将用户 ID 添加到 revinfo
  • 我可以使用用户 ID、实体类、最小和最大日期过滤审计数据,使用:

    public <T extends BaseModel> List<Object[]> buscar(Class<T> clazz, Usuario usuario, java.util.Date inicio, java.util.Date fim){
    GregorianCalendar novo = new GregorianCalendar();
    novo.setTime(fim);
    novo.add(Calendar.DAY_OF_MONTH, 1);

    AuditReader reader = AuditReaderFactory.get(getEm());
    return reader.createQuery()
    .forRevisionsOfEntity(clazz, false, true)
    .add(AuditEntity.revisionProperty("usuario")
    .eq(usuario))
    .add(AuditEntity.revisionProperty("revtstmp")
    .between(inicio.getTime(), novo.getTime().getTime()))
    .addOrder(AuditEntity.property("id")
    .asc())
    .getResultList();

    }

但是所有的关系都是惰性的,包括@ManyToOne

我发现很多关于 @OneToMany 问题的帖子,但事实并非如此

如何访问这些属性?

PS:我试过了,但无法突出显示代码。

最佳答案

Envers 返回的对象中的所有关系都是惰性的,无论是一对多还是多对一。

在对象中,要访问相关对象的属性,只需调用 getter :)

在查询中,这是不可能的。不支持联接,无论关系类型如何。您只能限制相关实体的 ID,而不能限制其属性。

关于java - Envers - 显示具有关系的审计数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15794612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com