【问题标题】:What is the purpose of getVersion() in GWT's RequestFactory?GWT 的 RequestFactory 中 getVersion() 的目的是什么?
【发布时间】:2011-11-08 15:00:30
【问题描述】:

GWT 的RequestFactory 要求我在所有实体对象中实现getVersion() 方法。我只是让他们都返回0 并标记为@Transient,一切正常。

我为什么需要它?真是烦死人了。

【问题讨论】:

    标签: hibernate gwt gxt requestfactory


    【解决方案1】:

    取自:http://code.google.com/intl/pl/webtoolkit/doc/latest/DevGuideRequestFactory.html

    RequestFactory 使用它来推断实体是否已更改。后盾 store(JDO、JPA等)负责更新各个版本 对象被持久化的时间,RequestFactory 调用 getVersion() 到 学习变化。此信息用于两个地方。首先, RequestFactoryServlet 向客户端发送一个 UPDATE 事件,如果一个实体 由于服务器上的方法调用而发生的变化,例如 例如,当对持久化可编辑实体的调用导致 服务器上的更新版本。二、客户端维护一个版本 最近看到的实体的缓存。每当它看到一个实体 版本已更改,它会在事件总线上触发 UPDATE 事件,以便 监听器可以更新视图。

    因此,您的方法每次更改时都应返回不同的版本控制值。如果您不需要 Request Factory 实体传输系统,请考虑使用 ValueProxy 而不是 EntityProxy。

    【讨论】:

    • 请注意,“客户端缓存”实际上并不存在(仅在 2.1 之前的里程碑中); IIRC 服务器将为它返回且未被删除的每个代理发送一个更新(在客户端具有几乎相同的结果)。
    • 您必须知道 Travis,GWT(尤其是 Request Factory)是一个非常动态的项目,因此我鼓励您不仅要关注文档,因为它可能已经过时,还要关注讨论组和已解决的问题。跨度>
    猜你喜欢
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 2023-04-08
    相关资源
    最近更新 更多