在每次更改时保留整个 JPA 实体

Preserving entire JPA entity on each change

我正在开发一个带有 Hibernate 后端的应用程序。我希望它能够做的一件事是让异步事件处理程序在 JPA 实体对象更新时触发。棘手的部分是,一旦更新了 JPA 实体,就不再有任何对原始对象的持久引用。

最终目标是存储原始 更新后的实体,以便异步组件可以完整地看到它们 。我可以想到几种可能的方法来解决这个问题,但它们都让我觉得很复杂。

有没有更简单的模式来处理这种事情?还是这只是我应该拥抱复杂性的东西?

Audit4j 将有助于异步保存您的对象。但它不会为 JPA 对象更改提供内置支持。但是可能有一种方法可以通过解决方法来实现。

在我看来,Hibernate Envers 可能很方便,在这种情况下,您有一个包含每个对象更改的日志 http://docs.jboss.org/envers/docs/