2017-07-22 8 views
0

私は、以下のサンプルコードの下でhibernate enverseを試しています。hibernate en verse queryによって返されるテーブルスナップショットをカスタマイズする方法

List personsAtAddress = getAuditReader().createQuery() 
    .forRevisionsOfEntity(MyEntity.class, false, true) 

アウトが

[ {"id"=1, 
    "name" ="ssss" 
    },{ 
    "revid" =1, 
     "username" ="kkk" 
    }, 
MOD 
] 

以下のようjsenフォーマットとして入れてきたが、私の予想出力が休止状態に監査クエリによって、この結果を取得する方法を

["my entity" {"id"=1, 
    "name" ="ssss" 
    }, 
"custom Revision Tale"{ 
    "revid" =1, 
     "username" ="kkk" 
    }, 
"modflag"="MOD" 
] 

では

答えて

0
をenverse

基本的に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); 
} 
関連する問題