Java 如何使用enver跟踪更改,以便子更新父对象的当前版本链接到具有更改的子对象的当前版本?

Java 如何使用enver跟踪更改,以便子更新父对象的当前版本链接到具有更改的子对象的当前版本?,java,hibernate,jpa,hibernate-envers,Java,Hibernate,Jpa,Hibernate Envers,假设我们有一本版本化的实体书。 这本书有一个属性,它也是一个版本化的实体作者 Author author = new Author(); author.setName("foo"); save(author); Book book = new Book(); book.setAuthor(author); save(book); 现在如果我改变作者的名字,例如 author.setName("bar"); 我希望“酒吧”能在这一小时从书的版本中看到

假设我们有一本版本化的实体书。 这本书有一个属性,它也是一个版本化的实体作者

Author author = new Author();
author.setName("foo");
save(author);


Book book = new Book();
book.setAuthor(author);
save(book);
现在如果我改变作者的名字,例如

author.setName("bar");
我希望“酒吧”能在这一小时从书的版本中看到。乙二醇

Book book = getRevForHour(Book.class, LocalDateTime.now());

if (book.getAuthor().getName() == "bar") {
    System.out.println("got what I wanted");
} else {
    System.out.println("didn't get what I wanted");
}
但现在我得到的是“foo”,这是作者在上一次为本书创作版本时所拥有的价值

有没有一种方法可以触发所有实体的rev创建级联?还是有更好的方法获取这些历史数据

编辑:

最后,我向所有实体添加了一列“last_update”,并在实体发生更改时完全手动向上传播更改。更改lastUpdate中的值,然后触发envers创建新版本