Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gwt com.google.web.bindery.requestfactory.shared.Locator.getVersion()-此方法用于什么?_Gwt - Fatal编程技术网

Gwt com.google.web.bindery.requestfactory.shared.Locator.getVersion()-此方法用于什么?

Gwt com.google.web.bindery.requestfactory.shared.Locator.getVersion()-此方法用于什么?,gwt,Gwt,我正在编写我的第一个GWT应用程序,需要您的建议。我可以为数据库实体实现一个定位器,在这个定位器中我可以重用hibernate用于乐观锁定的版本列,但是我的一个实体表示一个ldap对象。您能告诉我定位器的getVersion()方法用于什么,以及我如何为我的ldap对象实现此方法吗?我将读取和写入ldap对象。从,getVersion方法是 RequestFactory用于推断实体是否已更改。后备存储(JDO、JPA等)负责在每次持久化对象时更新版本,RequestFactory调用getVer

我正在编写我的第一个
GWT应用程序
,需要您的建议。我可以为数据库实体实现一个定位器,在这个定位器中我可以重用hibernate用于乐观锁定的版本列,但是我的一个实体表示一个
ldap对象
。您能告诉我定位器的
getVersion()
方法用于什么,以及我如何为我的
ldap对象实现此方法吗?
我将读取和写入ldap对象。

从,
getVersion
方法是

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

由于许多持久性框架提供通用的find/get/query方法,因此还可以创建一个通用定位器类,并在@ProxyFor注释中为每个实体类型指定它。为此,所有实体都可以扩展一个基类,该基类提供getId()和getVersion()。或者,通用定位器可以在需要时使用反射调用getId()和getVersion()


不确定您是否在寻找除此之外的任何其他内容。

我也有同样的问题。我的第一个想法是使用属性modifyTimestamp和createTimestamp。但仍存在一个功能缺口: 这些时间戳的最小单位是秒,因此无法检测到同一秒内的变化。另一个解决方案是对ldap对象的所有属性使用一种校验和。不太好