0
我的要求是,爲了應用程序審計目的,我想比較兩個BO對象,並返回一個obj diff作爲Json字符串將詳細信息存儲到審計表中。要比較對象,我選擇了Javers。在我的情況我已經實施了休眠攔截器將監視BO actions.That部分工作fine.But時嘗試比較BO與Javers對象扔我一個錯誤稱爲如何比較使用Javers的休眠BO對象
ENTITY_INSTANCE_WITH_NULL_ID: Found Entity instance 'com.myproject.runtime.bo.Result_$$_jvstc5f_5' with null idProperty 'resultid'
這裏是我的樣品休眠結果類
class Result {
@id //javax.persistence.Id
resultid;
name;
etc ...
}
的OBJ比較代碼段
public static <B> String compareObjDiff(final B oldBo, final B newBo) {
Javers javers = JaversBuilder.javers().build();
Diff diff = javers.compare(oldBo, newBo);
return javers.getJsonConverter().toJson(diff);
}
請讓我知道如何比較使用javers.also的hibernate BO對象是否可以忽略@id
屬性?
注意:Bo對象在運行時可以包含null
值。