1.树形结构存储
多加一个字段存储该节点的路径path。
例如:a节点下有b,b节点下有c,c节点下有d,那么的path为a|b|c
好处:避免递归,可以直接用一个sql查出a的下级节点
2.库存和积分校验的不同
库存:详情页、购物车和订单每一处都查询最新库存给前台
积分:购买积分商品时校验积分,后台校验只需要在最后下订单的时候校验就行,详情页、购物车只需要前台校验 即可。
原因:因为库存用户是看不到的,积分用户是可以自己查的,现实场景中用户肯定也是先查看自己有多少积分,然后才去购买相应积分的商品。
3.迭代式开发的问题
a、字段存储上的问题
购物车上需要保持各种促销活动的活动id,开始没想到扩展性,这些活动(必须互斥)的活动id完全可以存在一 个字段上,然后另加一个活动类型的字段就ok了
b、整合上的问题
开始项目中有自己的会员中心,购物车会员用的是@ManyToOne,后来由于需要整合,把会员中心独立出来 ,导致了程序出错