如何保存JPA应用程序中实体编辑的历史记录
JavaEE和JPA应用程序需要记录用户所做的所有更改 目前,对于所有实体,都有要记录createdBy和lastEditedBy属性的字段。然而,对于这些属性,记录所有编辑的要求是不可能的 记录特定实体所有编辑的历史记录的最佳方法是什么如何保存JPA应用程序中实体编辑的历史记录,jpa,jpa-2.0,Jpa,Jpa 2.0,JavaEE和JPA应用程序需要记录用户所做的所有更改 目前,对于所有实体,都有要记录createdBy和lastEditedBy属性的字段。然而,对于这些属性,记录所有编辑的要求是不可能的 记录特定实体所有编辑的历史记录的最佳方法是什么 我不使用Spring。您可以使用Hibernate的Envers来审核您的实体。它允许您跟踪对实体所做的所有更改,甚至是已删除的更改。很可能您已经在使用Hibernates(作为JPA提供者),所以集成应该是没有问题的 您可以使用数据库和框架无关工具来维护操作
我不使用Spring。您可以使用Hibernate的Envers来审核您的实体。它允许您跟踪对实体所做的所有更改,甚至是已删除的更改。很可能您已经在使用Hibernates(作为JPA提供者),所以集成应该是没有问题的 您可以使用数据库和框架无关工具来维护操作历史记录 JaVers和Envers之间有两大区别:
@Bean public JaversAuditableAspect javersAuditableAspect() { return new JaversAuditableAspect(javers(), authorProvider(), commitPropertiesProvider()); }
您不能使用数据库触发器来跟踪更改吗?您可以提供一个参考链接吗?这将取决于您使用的数据库服务器。对于postgresql,您可以在那里查看一下:这样的更改的目的是什么?您希望如何使用存储的信息?国际海事组织另一个非常重要的问题是这些变化的频率有多高?还有一个问题,应用程序是否处于高负载下(换句话说,与数据库的额外交互是否可以接受)?谢谢。贾维斯似乎是最好的选择。谷歌显示它需要春天。我可以不用弹簧吗?是的,也可以不用弹簧。该方法在文档中提供。编辑我的答案给你们一个简短的介绍。我使用JPA和EclipseLink,而不是hibernate