Java 如何从_AUD表中获取所有值的更改
我们正在使用hibernate envers 3.6.3.final,并且成功地创建了Java 如何从_AUD表中获取所有值的更改,java,hibernate,hibernate-envers,Java,Hibernate,Hibernate Envers,我们正在使用hibernate envers 3.6.3.final,并且成功地创建了*。\u AUD表。我需要生成一个基于日志信息的报告(表),以向用户显示对象的更改列表。像下面这样的事情 Id | modified_by | old_value | new_value | timestamp 1 | user1 | Boby77 | Boby | 2015-02-04 23:18:17 2 | user2 | Boby | Bob
*。\u AUD
表。我需要生成一个基于日志信息的报告(表),以向用户显示对象的更改列表。像下面这样的事情
Id | modified_by | old_value | new_value | timestamp
1 | user1 | Boby77 | Boby | 2015-02-04 23:18:17
2 | user2 | Boby | Bob | 2015-02-06 20:20:10
我无法从*.\u AUD
表中获取所有数据。如何从审核表中获取所有值的更改?我该怎么做
我正在使用以下代码,但它返回默认版本:
AuditQuery auditQuery = AuditReaderFactory
.get(sessionFactory.getCurrentSession()).createQuery()
.forRevisionsOfEntity(Myentity.class, false, true);
List<Object[]> list = auditQuery.getResultList();
AuditQuery AuditQuery=AuditReaderFactory
.get(sessionFactory.getCurrentSession()).createQuery()
.用于修改实体(Myentity.class、false、true);
List List=auditQuery.getResultList();
上述查询返回以下内容:
XXXXXXXXXXXXX::bla.bla。Myclass@71587682XXXXXXXXXXXXX::DefaultRevisionEntity(id=1,修订日期=2015年5月12日上午4:25:16)
XXXXXXXXXXXXX::MOD
XXXXXXXXXXXXX::bla.bla。Myclass@66cc8af0
XXXXXXXXXXXXX::DefaultRevisionEntity(id=2,修订日期=2015年5月12日上午4:31:02)
XXXXXXXXXXXXX::DEL
XXXXXXXXXXXXX::bla.bla。Myclass@7eb5c749
XXXXXXXXXXXXX::DefaultRevisionEntity(id=3,修订日期=2015年5月12日上午4:31:02)
XXXXXXXXXXXXX::添加
XXXXXXXXXXXXX::bla.bla。Myclass@502eca9c
XXXXXXXXXXXXX::DefaultRevisionEntity(id=4,修订日期=2015年5月12日上午5:08:52)
XXXXXXXXXXXXX::MOD
但我不想要这个。我需要上表所示的我所做的一切改变。如何做到这一点?您可以始终在审计表上使用任何自定义JPQL、条件或本机查询。确保使用实体管理器而不是AuditReader。