我有一个看起来像的模型:
class Case
{
public virtual ISet<CaseToCaseTag> CaseTags { get; set; }
public virtual DateTime LastModified { get; set; }
}
class CaseToCaseTag
{
public virtual Case Left { get; set; }
}
当审计与envers的这种关系时,我在从集合中删除值时遇到了修改后的属性跟踪问题。
如果在从集合中删除值时,我在case实体中更改的仅是“set-removal”,那么envers会正确跟踪CaseTags
属性是否被修改修订。但是,如果我还更改了任何其他属性,例如LastModified
属性,则不会正确设置CaseTags_MOD标志。
我已将此跟踪(我认为)跟踪AuditProcess.AddWorkUnit
方法。
当我只从集合中移除时,只会添加一个WorkUnit
(CollectionChangeWorkUnit
),但当我还更改另一个属性时,另外WorkUnit
(一个ModWorkUnit
)也会被添加。
然后似乎发生的事情是CollectionChangeWorkUnit
被弃置而不是ModWorkUnit
,而 String url = "http://qjtest.azurewebsites.net/api/test?name=ayman";
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Toast.makeText(mContext, "onResponse:\r\n" + response.toString(), Toast.LENGTH_SHORT).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(mContext, "onErrorResponse:\r\n" + error.toString(), Toast.LENGTH_SHORT).show();
}
});
requestQueue.add(jsonObjectRequest);
又不会收集对集合的更改。
我试图不支持,还是有办法绕过它?
答案 0 :(得分:1)
听起来像个臭虫。请创建一个带有最小映射的拉取请求以重现该问题。