GWT请求工厂 - 创建并持久化对象 - 代理是否应自动填充id?

时间:2013-06-07 18:18:58

标签: java gwt requestfactory

如果我在客户端创建一个代理对象并保留它,那么在服务器端持久保存之后我的代理对象是否应该使用生成的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方法再次返回我的对象​​?

1 个答案:

答案 0 :(得分:2)

是的,你是对的,调用persist()不会改变客户端中的代理对象,你必须去服务器再次获取对象。

通常的方法是在persistAndReturnSelf()中定义Request方法。

request.persistAndReturnSelf(myTestObj).fire(new Receiver<TestProxy>()) {
   ...
}