Envers概述
Envers项目目标是使翻译JPA持久类更容易。所有你需要做的是注释你的持久化类以及类的属性,用@Versioned。
对于每个要翻译的实体(entity),会创建一个表。
Envers会保存实体改变的历史。你还可以检索和查询历史数据。
类似于Subversion,其库包含修改(revision)的概念。基本上,事务处理提交是一次修改。由于修改是全局的,有一个修改号,所以你可以查询任何修改版本的各个实体。
Envers库与Hibernate和Hibernate的实体管理器一起工作,为了更准确地完成实体翻译工作,实体必须有一个不变的唯一标识符(主键),还可以在单独、JBoss AS、JBoss Seam或Spring等环境下工作。
Envers的特征如下:
1)基本属性的翻译(字符串、整数、长整型...);
2)内嵌组件的翻译,内嵌组件由基本属性组合而成;
3)带简单、组合、和内嵌的IDS的类的翻译;
4)一对一的单向或双向关系的翻译;
5)一对多的单向或双向关系的翻译;
6)支持二级表;
7)为每次修改的日志数据都使用了“修改实体”;
8)查询历史数据。
例子:
@Entity
public class Person{
@Id
@GeneratedValue
private int id;
@Column
@Versioned
private String name;
@Column
@Versioned
private String surname;
...
}
分享到:
相关推荐
Spring Data Envers API(Spring Data Envers 开发文档).CHM 官网 Spring Data Envers API
针对某些实体类,要能查得到变化的历史痕迹。假如项目界面不需要考虑展示或可读性,只需要在数据库中入库变更版本,最简便且可靠的方式就是使用Hibernate envers他的部分配置及说明中文文档
hibernate_reference-Hibernate Envers User Guide
hibernate官方文档集成系列源码,大家只需要修改一下数据库连接属性就可以在自己机器上运行了。
hibernate-envers-4.2.4.Final.jar
主要介绍了Springboot hibernate envers使用过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Envers 上的简单应用程序现有应用程序是在 hibernate 3.5.0 上编写的,数据库连接到 SQL Server(数据库名称“test”)。 DB Config 记录在 hibernate-cfg.xml 中。 envers 的测试是用 HibernateTest.java 编写的
JPA配置装载 Jboss Envers Jasperreport ireport 项目源码 博文链接:https://neil-jh.iteye.com/blog/235838
实现原理 为每个Audited的表创建一个对应的审计数据存储表,然后借助Hibernate Listener机制把对数据的增删改操作记录到审计表。(由此引申出的问题:随着业务操作的频繁,审计表数据增长很快)。
概述 该应用程序演示了如何将与用于数据库记录的审计和版本控制。执照该示例应用程序及其关联的源代码全部按照以下许可条款提供。 Copyright (C) 2014Permission is hereby granted, free of charge, to any person ...
envers-validation-maven-plugin 这是一个Maven插件,用于验证由hibernate-envers生成/管理的审核修订的结构和内容。 此插件对表结构或内容并非始终由Envers生成的数据库特别有用。 例如,在数据库中,DBA有时会...
java运行依赖jar包
Hibernate启用演示问题陈述这是一个使用Hibernate Envers,Spring boot和AngularJS的演示项目。 它旨在作为称为“四眼原理”( )的实际用例的解决方案。 此用例的主要参与者是“制造者”和“检查者”。 第一个将对...
Hibernate环境 有机会使用 Envers 对 eXo 的 wiki 实体进行版本控制
该项目是项目的扩展,允许访问由Hibernate Envers管理的实体修订版。 来源主要来自PhilippHügelmeyer 的贡献。 该模块的核心功能包括Spring Data Commons的RevisionRepository的实现。 public interface ...
测试删除测试Spring Boot App以显示带有CRUDRepository的Envers错误
jhipster 的自述文件
用法如果您想运行项目,则只需运行SampleDataJpaApplication中的主方法。 该项目包括一个H2控制台,因此您可以在任何浏览器上查看您的数据库。 尝试: 转到 在登录表单中,请添加以下信息: JDBC URL:jdbc:h2:mem...
概述 JPA Projections示例项目旨在演示以下内容: 使用Hibernate拦截器检测Persistence Context中的实体更改 使用Hibernate拦截器对数据库中的实体更改做出React 使用观察者设计模式来监视实体持久性更改并对其做出...
spring4.2+hibernate5环境开发全部jar包