我开始使用hibernate envers(5.3.28),它工作正常。5.3.28由于我的JEE环境。实体被注解,表格被创建(使用ddl 2“create”进行开发),审计记录将被写入。
使用AuditReaderFactory在“垂直”和“水平”层中处理审计数据。
我的问题是垂直层。
我获取特定ID的审计实体(工作正常)。
我用
List<Service> services = AuditReaderFactory.get(em).createQuery().forRevisionsOfEntity(Service.class, true, true)
.add(AuditEntity.id().eq(serviveId)).getResultList();
我还想在同一个查询中得到修订时间戳(另外,我在这里卡住了)。
我试过使用.addProjection
。所以我可以得到修订时间戳(互联网上有很多例子)。它工作。但我也希望整个实体作为对象。
类似于"SELECT r.timestamp, s FROM Service s ....."
。所以“s”是实体加上时间戳。AuditEntity.selectEntity(false)
不一样,它只是我的实体的哈希结构。
有什么提示吗?
Uwe/德国
1条答案
按热度按时间a9wyjsp71#
我自己找到了解决方案,看了看envers源代码/docu。
只是使用一个'AuditQuery'没有任何投影。
你将得到有三个条目的对象数组。