GWT的RequestFactory中getVersion()的目的是什么?

时间:2011-11-07 21:44:52

标签: hibernate gwt gxt requestfactory

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

为什么需要它?它太可怕了。

1 个答案:

答案 0 :(得分:3)

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

  

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

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