OrderEntryModel中的属性为空,即使我在 items.xml中定义了默认值为0.0。

问题描述 投票:0回答:1

我们使用的是hybris 6.7版本,我在AbstractOrderEntryModel中创建了一个新的属性,并在 items.xml中定义了一个默认值为0.00D,因为它是一个双类型。

现在,当我登录到店面并将商品添加到购物车中时,它就像预期的那样工作。但是当我登录到一个已经有一个活动购物车的用户时,它抛出了nulllpointer。我没有处理null指针,因为我已经声明它的默认值为0.0,它不能为空。

现在要解决这个问题,是处理null指针还是创建一个groovy脚本来更新所有旧的和现有的购物车更好?

先谢谢你。

shopping-cart hybris
1个回答
1
投票

是的,你需要更新旧记录。你可以用impex、groovy或db查询更新旧记录。


1
投票

就个人而言,我会更新现有的记录,这些记录有 null 新属性的值。

处理异常也是一种可能的方法,但它略显丑陋,因为你已经知道它不应该是 null.


1
投票

根据良好的实践,我们应该通过groovy、Impex或DB查询创建一个简单的数据迁移脚本来更新已经存在的AbstractOrderEntryModel,不建议在代码层面使用null检查,因为新创建的条目将进入模型生命周期,initdefault拦截器将完成这项工作,因为你已经定义了默认值。

© www.soinside.com 2019 - 2024. All rights reserved.