我在示例代码下面尝试使用hibernate。
List personsAtAddress = getAuditReader().createQuery()
.forRevisionsOfEntity(MyEntity.class, false, true)
以jsen格式输出如下
[ {"id"=1,
"name" ="ssss"
},{
"revid" =1,
"username" ="kkk"
},
MOD
]
但我的预期输出是
["my entity" {"id"=1,
"name" ="ssss"
},
"custom Revision Tale"{
"revid" =1,
"username" ="kkk"
},
"modflag"="MOD"
]
如何通过hibernate enverse中的审计查询获得此结果
答案 0 :(得分:0)
您基本上需要使用输出期望获得结果的键将Envers API中返回的Object[]
数组封送到Map
。
final List<Map<String,Object> output = new ArrayList<>();
final List<Object[]> results = // this is the list of object arrays from Envers
for ( Object[] row : results ) {
final Map<String, Object> map = new HashMap<>();
map.put( "my entity", row[0] );
map.put( "custom Revision Tale", row[1] );
map.put( "modflag", row[2] );
output.add( map );
}