RequestFactory和@OneToMany关联

时间:2012-04-16 19:20:28

标签: gwt jpa requestfactory

我抓住了!任何帮助将不胜感激。

我的情况是我的模块上有@OneToMany关联。

 class Parent{
    @OneToMany(
       mappedBy="parent"
    )
    return List<Child> getChildren();
 }

 class Child{
   @ManyToOne
   return Parent getParent();
 }

在客户端,我想得到整个对象图。

我这样做(AsyncDataProvider以DataGrid作为显示):

 requestContext.getParents().with("children").fire(new Receiver<CallbackProxy>() {
                @Override
                public void onSuccess(CallbackProxy response) {
                    display.setRowData(range.getStart(),response.getParents());
                    updateRowCount(response.getCount().intValue(), true);
                }
            });

我的DAO只是查询整个地图。

 Criteria criteria = session.createCriteria(Parent.class);
 criteria.setFetchMode("children", FetchMode.JOIN);
 criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

 /* we got all the map here on the server side */       

 Callback callback = new Callback();
 callback.setCount(count);
 callback.setParents(criteria.list());

 return callback;

但我无法得到孩子们。它们的列表为空。请注意iam使用(“儿童”)

谢谢。

1 个答案:

答案 0 :(得分:0)

RequestContext.getParents()似乎返回CallbackProxy而不是Parent。所以with子句应该看起来像“parents.childs”。

顺便问一下,为什么不称他们为“孩子”?就这种情况而言,GWT家伙有一天会添加一个语法检查器: - )