首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate envers -为非审计字段获取最新数据,为已审计字段获取历史数据。

Hibernate envers -为非审计字段获取最新数据,为已审计字段获取历史数据。
EN

Stack Overflow用户
提问于 2014-12-14 01:48:21
回答 1查看 144关注 0票数 0

我想知道是否有一种简单/标准的方法来查询oneToMany关系,其中拥有实体/父级没有被审计,但是子实体被审计了

Person -<地址

代码语言:javascript
复制
public class Person {
    @Id
    int id;

    @Column(name = "name")
    String name;

    @Audited
    @OneToMany(mappedBy = "person", orphanRemoval = true, cascade = { CascadeType.ALL })
    private List<Address> addresses = new ArrayList<>();
}

@Audited
public class Address {
    @Id
    int id;

    @Column(name = "country")
    String country;

    @Column(name = "city")
    String city;

    @ManyToOne
    @JoinColumn(name = "person_id")
    private Person person;
}

那么,我如何在修订时查询地址和人员列表,并且所有字段都已填充(已审计和非审计)

例如,在上面的数据模型上,如果我做一个

代码语言:javascript
复制
auditReader.createQuery().
     forEntitiesAtRevision(Person.class, 2).getResultList().get(0);

我期待下面的结果

代码语言:javascript
复制
Person 1 -> 5, "Bob", [{1, "USA", "Seattle"},{2,"USA","Austin"}]

但是它却回来了

代码语言:javascript
复制
Person 1 -> 5, null , [{1, "USA", "Seattle"},{2,"USA","Austin"}]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-15 08:02:17

如果未对字段进行审计,则不会填充字段。如果没有存储数据,它们怎么可能是?)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27465568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档