GWT' RequestFactory
要求我在所有实体对象中实现getVersion()
方法。我让他们全部返回0
并标记为@Transient
,一切正常。
为什么需要它?它太可怕了。
答案 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。