我的情况是我的模块上有@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使用(“儿童”)
谢谢。
答案 0 :(得分:0)
RequestContext.getParents()似乎返回CallbackProxy而不是Parent。所以with子句应该看起来像“parents.childs”。
顺便问一下,为什么不称他们为“孩子”?就这种情况而言,GWT家伙有一天会添加一个语法检查器: - )