java - RequestFactory 没有填充我的实体代理的所有字段

标签 java gwt requestfactory gwt2

您能否告诉我如何让 RequestFactory 填充我的实体代理的字段(这些字段也是实体代理)?

这是父代理

@ProxyFor(value = Organization.class, locator = PojoLocator.class)
public interface OrganizationProxy extends EntityProxy
{
    public String getName();
    public void setName(String name);
    public String getAddress();
    public void setAddress(String address);
    public PersonProxy getContactPerson();
    public void setContactPerson(PersonProxy contactPerson);
}

如您所见,它包含另一个代理作为字段。这是 PersonProxy 的样子

@ProxyFor(value = Person.class, locator = PojoLocator.class)
public interface PersonProxy extends EntityProxy
{
    public String getName();
    public void setName(String name);
    public String getPhoneNumber();
    public void setPhoneNumber(String phoneNumber);
    public String getEmail();
    public void setEmail(String email);
    public OrganizationProxy getOrganization();
    public void setOrganization(OrganizationProxy organization);
}

在我的RequestContext界面我有方法Request<OrganizationProxy> findOrganizationById(long id) 。从数据存储中获取真实组织的 DAO 类设置其 contactPerson字段,但在客户端中它始终是 null 。事实上,RequestFactory 甚至从未调用 Organization.getContactPerson()。

我的客户通话如下所示

createFactory().contextOrder().findOrganizationById(1).fire(new Receiver<OrganizationProxy>()
{
    @Override
    public void onSuccess(OrganizationProxy response)
    {
        if (response == null)
        {
            organizationProxy = orderRequestContext.create(OrganizationProxy.class);
            organizationProxy.setContactPerson(orderRequestContext.create(PersonProxy.class));
        } else
            organizationProxy = orderRequestContext.edit(response);

        // Copy the data in the object into the UI
        driver.edit(organizationProxy);
    }

    @Override
    public void onFailure(ServerFailure error)
    {
        createConfirmationDialogBox(error.getMessage()).center();
    }
});

我在这里缺少什么?我应该在某个地方手动做一些事情吗? RequestFactory 不是应该填充整个图表吗?

最佳答案

抱歉,但我找到了答案。我应该有 RTFM。

When querying the server, RequestFactory does not automatically populate relations in the object graph. To do this, use the with() method on a request and specify the related property name as a String

关于java - RequestFactory 没有填充我的实体代理的所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9459589/

相关文章:

java - 如何在没有 ACTION_DOWN 和 ACTION_UP 的情况下检测类拖动行为

java - GWT - 如何在 @Entity 注释的类之外实现 RequestContext 方法?

gwt - 请求工厂通用方法属性

java - Documentbuilder.parse 返回错误权限被拒绝

java - struts2 有类似 requireddate 的东西吗?

Java 方法 boolean 值在应该为 true 时返回 false

java - GWT 编译器在 IntelliJ IDEA 中找不到依赖模块的来源

java - Google App Engine 应用程序中静态文件的授权(不使用 Google 帐户)

java - 是否有用于 IntelliJ IDEA 的 GWT UI 设计器?

java - 如何将类型添加到 GWT 的序列化策略白名单?