关于管理型站点业务中的假删除

voidmain 发布于 2012/10/08 17:23
阅读 187
收藏 1

【Gopher China万字分享】华为云的Go语言云原生实战经验!>>>

@JFinal 你好,想跟你请教个问题:在目前的管理型站点中大多数情况都是在做假删除数据的操作,原因是需要对每一条数据项进行留存,这一点在军工行业中尤为明显,所以对于假删除操作即在没一张表中加一个deleteflag删除标识0代表存在1代表删除,那么每一次查询时候都需要加一个条件就是deletefalg=0,更新时也同样需要加入这个条件,而在删除时不是真删除而是对此删除标识字段进行更新从0更新为1,那么如果按照这样一套流程下来,在jfinal框架中需要自己对每一个增删改查进行维护操作,所以有此想法是否可以对model进行一下扩展?大家有什么好的想法吗?

加载中
1
sxgkwei
sxgkwei
做一个父model,所有其它都继承它,它里面有属性deleteflag,默认值是0。这样,增:当然直接是0,没啥好说的。删,把对象此属性修改为1,更新进去。改,不会改这个,原来的拿出来是0自然再改了其他属性,改进去后还是0。查,new一个条件对象时,已经封装了deleteflag=0的条件,其他的条件set进此对象,根据此对象有限的属性约束值去查一个集合,也完全符合要求。
0
JFinal
JFinal
我目前还是建议开发者自己在YourModel中来写个方法支持,毕竟这是业务需求,如果框架来做不太合适,框架更多要顾及非业务上的最常见的情况,谢谢支持 
0
缪斯的情人
缪斯的情人
把删除标示做成一个类全局常量,这样只需要修改这个常量就行
返回顶部
顶部