点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在hybris 5.7 b2c中,我正在尝试更新用户通讯录(在"我的帐户"中)。 这是代码:
最终用户模型um = defaultUserService.getUserForUID(orderModel.getUserId()); 最终集合addresscollection = um.getAddresses();
如果(addresscollection!= null && addresscollection.size()> 0)
{
最后的AddressModel [] arr = addresscollection.toArray(new AddressModel [addresscollection.size()]);
如果(shippingAddress.getAddressSequence()> = 0)
{
最后的AddressModel addressModel = arr [shippingAddress.getAddressSequence()];
globaleCustomerDetailsAddressConverter.populate(shippingAddress,addressModel);
最终的字符串代码= addressModel.getCountry()。getIsocode();
最后的ArrayList 列表= new ArrayList ();
list.addAll(Arrays.asList(arr));
um.setAddresses(list);
modelService.save(um);
}
其他
{
//添加到地址集合
}
}
运行时一切正常,我在设置为um(userModel)的列表中看到了更新的代码,但是当我检查用户通讯录时,我看不到更改
您似乎正在保存新地址,而不是真正在更新现有地址。 我无法从这里的代码中找出您如何更新现有地址。 通常,您将必须按PK检索地址,设置新值并保存(并可能刷新)。
您在hmc/backoffice中看到针对该用户的地址吗?
是的,我在hmc中看到了地址,我的意思是我在"地址"菜单项中看到了该地址。 如果我在hmc中转到该客户地址-我看到的与我的帐户中的地址相同-我看不到更新的地址
您不是要更新一个地址吗? ? 如果是这样,那么您必须起诉save(),而不是saveAll()
一周热门 更多>