码迷,mamicode.com
首页 > 其他好文 > 详细

15-流程操作(查询和删除部署信息和流程定义信息)

时间:2017-02-16 23:26:43      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:删除   流程   级联   框架   cascade   定义   ade   span   技术   

技术分享

效果如下:

技术分享

查询部署表

技术分享

部署对象Deployment也是接口,它的四个方法刚好对应着部署表act_re_deployment的四个字段

技术分享

技术分享

查询流程定义列表

技术分享

假如这个流程图画错了,我不想使用这个流程了,把它删除掉,那就删除部署信息

删除部署信息

技术分享

流程部署表act_re_deployment里面ID_为1的记录被删除了,并且流程定义表act_re_procdef里面外键DEPLOYMENT_ID_为1的记录也被删除了,因为有外键约束嘛,不可能只删除流程部署表的信息

技术分享

现在看是没有问题,我来制造一个问题,比如选择流程部署的ID=1901的记录,那么流程定义表里面对应的记录的流程定义ID=qjlc:14:1904,按照这个流程定义的ID启动一个流程实例,启动完之后试着删除这个ID=1901的流程部署看看行不行。启动了一个ID_=2201的流程实例,删除结果报错了

技术分享

因为有外键约束所以不能删除部署表的信息,你删除这个紧接着也会删除关联它的其他表的信息。虽然传的参数只有部署的ID,但是删除的表可不只部署表这一张表。关联着的有我们的流程定义表,还有可能有我们的执行表和任务表。后面这两张表就属于关联的表,级联的表。

我们学过hibernate的级联删除cascade,activiti也有级联删除cascade。

技术分享

true代表是级联,false就代表不是级联,不级联有可能删除不成功

删除流程定义的代码其实和删除部署信息的代码是一样的,只是目标不一样。这两张表有一个外键的关联,因为删除子表里面的一条数据,其实是通过删除主表里面的一条数据来实现的。关联的,把子表里面的数据给它删除掉。所以虽然框架并没有提供直接删除流程定义的方法,但是代码其实和删除部署信息是一样的。

技术分享

15-流程操作(查询和删除部署信息和流程定义信息)

标签:删除   流程   级联   框架   cascade   定义   ade   span   技术   

原文地址:http://www.cnblogs.com/ZHONGZHENHUA/p/6407272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!