如果我在客户端创建一个代理对象并保留它,那么在服务器端持久保存之后我的代理对象是否应该使用生成的id自动更新?
例如,此代码打印出“null”。
final MyRequestFactory requestFactory = clientFactory.getRequestFactory();
final TestRequest request = requestFactory.testRequest();
final TestProxy myTestObj = request.create(TestProxy.class);
Request<Void> createReq = request.persist.using(myTestObj);
createReq.fire(new Receiver<Void>() {
@Override
public void onSuccess(Void nothing) {
System.out.println(myTestObj.getId());
}
});
或者我是否必须更改我的代码以便persist方法再次返回我的对象?
答案 0 :(得分:2)
是的,你是对的,调用persist()
不会改变客户端中的代理对象,你必须去服务器再次获取对象。
通常的方法是在persistAndReturnSelf()
中定义Request
方法。
request.persistAndReturnSelf(myTestObj).fire(new Receiver<TestProxy>()) {
...
}