我想检索最近更改的所有实体的所有最新版本(即数据库中的所有内容)。
以下查询获取特定实体“ MyEntity”的修订
queryObject = auditReader.createQuery()。forRevisionsOfEntity(MyEntity.class,false,true).addOrder(AuditEntity.revisionNumber()。desc())
但是我需要一种机制来获取所有实体的记录,而与特定实体类型无关。
答案 0 :(得分:0)
查看$str='xxx-xxx-xx\xxxxxxx\x\{xxxx-xxxxx-xxxx}\xxxxx\xxxxx'
#remove bracket and split for get array
$Array=$str -replace '[{}]' -split '\\'
#take all element except 2 last elements, and concat after last elems
"{0}.{1}.{2}" -f ($Array[0..($Array.Length -3)] -join '\'), $Array[-2], $Array[-1]
。
此设置将针对修订实体创建联接表,在该表中将为每个修订号跟踪一组基于字符串的实体名称。有了这些信息,您应该能够使用org.hibernate.envers.track_entities_changed_in_revision
API来构建必要的查询,以迭代所有更改。
在伪代码中,它将类似于:
AuditReader#createQuery()