GWT 的 RequestFactory 中 getVersion() 的用途是什么?

发布于 2024-12-13 22:36:34 字数 167 浏览 2 评论 0原文

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

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

GWT's RequestFactory requires that I implement a getVersion() method in all my entity objects. I just have them all returning 0 and marked as @Transient and everything works fine.

Why do I need it? It's annoying as hell.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

画▽骨i 2024-12-20 22:36:34

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

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

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

Taken from: http://code.google.com/intl/pl/webtoolkit/doc/latest/DevGuideRequestFactory.html

Used by RequestFactory to infer if an entity has changed. The backing
store (JDO, JPA, etc.) is responsible for updating the version each
time the object is persisted, and RequestFactory calls getVersion() to
learn of changes. This information is used in two places. First, the
RequestFactoryServlet sends an UPDATE event to the client if an entity
changes as a result of the method invocation on the server, for
example, when a call to persist an editable entity results in an
updated version on the server. Second, the client maintains a version
cache of recently seen entities. Whenever it sees an entity whose
version has changed, it fires UPDATE events on the event bus so that
listeners can update the view.

So your method should return versioning value diffrent each time when it changes. If you don't need Request Factory entity transport system consider to use ValueProxy instead of EntityProxy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文