假设在客户端我有一个可由UI编辑的实体代理,当我点击保存按钮时,最后修改的时间将作为字段保存在实体代理中。
//start
MyEntityProxy proxy = getProxy();//fetched from server
Request<Void> saveRequest = requestFact.myEntityProxyRequest().save(proxy);
editorDriver.edit(proxy, saveRequest.getRequestContext());
editorDriver.flush();
//user modifies UI
....
//save
editorDriver.flush();
saveRequest.fire();
问题是,在哪里插入proxy.setLastModifiedTime(数据)调用?我总是得到
java.lang.IllegalStateException: The AutoBean has been frozen.
感谢。
答案 0 :(得分:0)
假设您在proxy
和flush()
之间使用了fire()
变量,首先必须edit()
。
proxy = saveRequest.getRequestContext().edit(proxy);
这是在editorDriver.edit(…)
内自动完成的,但它会将返回值保密。