我正在使用DOJO JsonRestStore。我修改了对象中的字段。
将修改后的对象持久化回数据存储区和REST服务的正确步骤是什么?
更新:删除了有关网格的信息,因为它不是问题的一部分。
答案 0 :(得分:1)
通常情况下,store.save()应该足够了......如果没有,则表示您的网格与商店之间存在问题。
答案 1 :(得分:1)
显然我假设退回的项目将与数据存储区同步。它似乎不是这样,必须使用以下方法手动更新:
store.setValue(item, field, value);
我也希望有一个等同于JPA合并的命令。如果用以下内容覆盖上一个对象:
store.newItem( updatedVersionOfItem );
并且该项具有相同的唯一ID,它将覆盖类似于merge的旧项。
有没有人知道是否有某种工厂会为每个字段调用store.setValue()的项目创建getter和setter?
我想它会像下面这样:
var wrappedItem = itemWrapperFactory.createWrapper( item, store );
...
//Some where in createWrapper(...), this is just the concept
for (var itemField in itemFieldList)
this.__defineGetter__( itemField[index] , function(val){
store.setValue(item, itemField[index], val);
});
我正在考虑把自己写成一个整洁的建筑。