3

我正在使用一个与我的 DAO 分开的类来处理访问请求,但我不知道如何实现 InstanceRequest 方法:

public class Service
{
    public static DAO findDAO(Long id);
}

@Service(Service.class)
public interface DAORequestContext extends RequestContext
{
    Request<ProxyForDAO> findDAO(Long id);
    InstanceRequest<ProxyForDAO, Long> persist();
}

public Long persist()我在我的实现中定义DAO,因为gwt 文档说,“在服务器上,实例方法必须作为实体类型中的非静态方法实现”,但请求工厂似乎找不到它:

SEVERE: Could not find any methods named persist in com.activegrade.server.data.Service Feb 23, 2011 10:03:02 PM com.google.gwt.requestfactory.server.ServiceLayerDecorator die

如何实现实例方法Service?我不知道如何转换InstanceRequest. 我是否需要将DAO类连接到Service某种方式,以便代码生成器知道查找Service大多数方法但跳过DAOforInstanceRequest调用?

4

1 回答 1

2

ASAIK 这是不可能的,因为InstanceRequest方法绑定到@Service注释中指定的类。使用Request方法,可以使用定位器为多个数据类提供一个服务类的方法。但是根据我对请求工厂的理解,这些方法是不可能的InstanceRequest。另请参阅此项目,它使用定位器,方法集中在一个地方:http ://code.google.com/p/listwidget/

编辑:我已经根据下面的更新/和评论重写了答案。

于 2011-02-24T12:54:57.787 回答