Java Hibernate Envers库应该用于业务逻辑吗?

Java Hibernate Envers库应该用于业务逻辑吗?,java,hibernate,hibernate-envers,auditing,Java,Hibernate,Hibernate Envers,Auditing,简单案例: 有一个用户想知道他什么时候更改了用户名。我应该使用审计数据来做这件事吗 是否仅为管理员审核数据?您可以使用Envers跟踪更改并将其显示给用户。无论您是使用Envers还是代码,逻辑都是个人偏好 修订实体具有与实际实体相同的属性,因此可能不适合您将来的需要。我不会将常规使用数据与审核数据混用。如果看到用户名更改是一个常见的要求,那么将其作为一个特定的功能。如果这不常见,请告诉用户自己跟踪用户名更改。@Kayaman不确定这是否是最佳做法,但我一直在使用Envers跟踪相当大的项目,以

简单案例:

有一个用户想知道他什么时候更改了用户名。我应该使用审计数据来做这件事吗


是否仅为管理员审核数据?

您可以使用Envers跟踪更改并将其显示给用户。无论您是使用Envers还是代码,逻辑都是个人偏好


修订实体具有与实际实体相同的属性,因此可能不适合您将来的需要。

我不会将常规使用数据与审核数据混用。如果看到用户名更改是一个常见的要求,那么将其作为一个特定的功能。如果这不常见,请告诉用户自己跟踪用户名更改。@Kayaman不确定这是否是最佳做法,但我一直在使用Envers跟踪相当大的项目,以跟踪每个更改,应用程序用户可以访问(当然,通过特定屏幕)。有什么不对吗?@HBo这取决于你用它干什么。如果您使用它专门向用户提供历史数据,那么请确保。如果您存储它是出于审核原因,我将不允许用户访问。@Kayaman好的,您完全正确,谢谢enlightenment@Kayaman我不相信它会像你最后的评论那样枯燥无味。Envers可用于这两种情况,它更多地取决于上下文,更具体地说,取决于所讨论的实体数据。有些实体或实体的子部分对于用户查看历史更改非常有用,而对于其他实体,管理员可能比用户更有用。