1

被这三个问题困住了:

1)我看到差异是在AutoBeanUtils's diff方法中计算的。我在实体中看到了一个标签,该标签parentObject用于比较计算差异。

parent = proxyBean.getTag(Constants.PARENT_OBJECT);AbstractRequestContext课堂上。

这是否意味着加载到浏览器的给定实体有两个副本?如果我的实体实际大小是 1kb,实际加载的数据将是 2kb(因为实体的两个副本正在加载到浏览器上)?

2)在服务器端:

假设我必须从数据库中获取一个实体,static find<EntityName>应该这样我每次都必须进行 db 调用,或者有没有办法可以微调该行为?[对不起,我没有很好地理解这个locator概念。]

3)如果从客户端发送差异时服务器端发生崩溃(出于任何不需要特定于当前请求的原因)会发生什么?

非常感谢。

4

1 回答 1

1
  1. 当您.edit()成为代理时,它会复制并将您作为参数传递的不可变代理存储为PARENT_OBJECT返回的代理。

  2. 每次调用该方法时,您通常都会进行一次数据库调用(对于 aLocatorfind()方法也是如此),每个请求的调用次数不会超过两次。如果需要,您可以使用某种缓存,但如果您使用 JPA 或 JDO,这会为您处理好(您必须使用每个请求的会话模式,即 OpenSessionInView)

  3. 如果在解码请求时出现任何错误,将返回一个全局错误,该错误将传递给失败请求onFailure的所有s。ReceiverRequestContext

请参阅https://code.google.com/p/google-web-toolkit/wiki/RequestFactoryMovingParts#Flow

于 2013-04-22T08:24:38.240 回答