据我现在接触过的工作流实例数据有以下存法:
1.就是在业务表中有类似caseid的东西,以caseid为主键,最多再搞个一模一样的业务表(除去caseid)在业务流程结束前更新
2.流程当前数据和流程历史数据采取竖表方式存储,不和业务相关联,只有到流程的关键节点才将流程数据按一定规律更新到库表。
我个人倾向于第二种方法
想知道cnblogs里的各位高见?
微信里点“发现”,扫一下
二维码便可将本文分享至朋友圈。
楼主的想法是对的,因为工作流虽然说是预先设定好的,但是这只是相对固定。比如其中的流转,它就是很活的东西,你可以流转给任何人,在得到响应后再回来。那么流程实例的步骤就和预定的步骤不一样了。
所以肯定是竖表方式存储流程步骤实例数据。在流程实例表中,如果到了要流转他人的时候,如果没有流转标示的话、就从预定步骤表中取到下一步的审核人的信息,进行处理。
用数据库中字段来标识流程状态