我有一个使用 RF EntityProxy 映射的简单 1-n 关系(产品-> 项目)。所以,
ProductProxy extends EntityProxy {
List <ItemProxy> getItems();
void setItems(List<ItemProxy> items);
}
我还有一个带有嵌套 ListEditor 的产品编辑器。如果我将新项目添加到 product.items 列表或编辑其中任何一个(成功保存),一切正常。
但是,如果我从 ProductProxy.getItems().remove(index) 中删除一个项目并尝试将该产品作为一个整体保存,我注意到当对象到达服务器端时,我刚刚删除的项目仍在集合。
在我看来,RF 在将新值注入服务对象之前尝试在数据存储中查找对象(使用定位器)。
我基本上需要能够删除集合中的 Item 并将新的(修改后的)集合保存到 Product 对象中。
谢谢!!
PS。我正在使用 Objectify Ref<> 来保留该集合。
发送请求前的负载:
{"F":"web.app.gwt.shared.AppRequestFactory","O":[{"T":"kKv$zKrUQuvZDqvbc2XdTq6i1qU=","V":"NC4w","P":{"defaultOptions":[]},"S":"IjI5MiI=","O":"UPDATE"},{"T":"_dEu_lZqt6BooJQsjzBeHUf38EY=","V":"NC4w","S":"IjI5MCI=","O":"UPDATE"},{"T":"_dEu_lZqt6BooJQsjzBeHUf38EY=","V":"NC4w","S":"IjI4OSI=","O":"UPDATE"},{"T":"_dEu_lZqt6BooJQsjzBeHUf38EY=","V":"NC4w","S":"IjI5MSI=","O":"UPDATE"}],"I":[{"P":[{"T":"kKv$zKrUQuvZDqvbc2XdTq6i1qU=","S":"IjI5MiI="}],"O":"O4GgjqqjQkeFcxD6lGwHruEwO6U="}]}