小几休息啦 2023-01-09 10:35 采纳率: 0%
浏览 47

Activiti工作流ACT_RU_IDENTITYLINK,组ID显示不正常

初学工作流,自己写了一个前台请假页面,启动该请假流程后,
ProcessInstance instance = runtimeService.startProcessInstanceByKey(key, id + "", variables);
#####
ACT_RU_IDENTITYLINK表中的GROUP_ID显示一串英文加数字“f6817f48af4fb3af11b9e8bf182f618b”,并且GROUP_ID实际应为admin的,目前数据库该字段都显示为“f6817f48af4fb3af11b9e8bf182f618b”,请问这是啥原因啊

  • 写回答

1条回答 默认 最新

  • m0_54204465 2023-01-09 10:40
    关注

    ACT_RU_IDENTITYLINK 表是 Activiti 工作流引擎中的运行时用户和组关系表。在启动流程实例时,Activiti 引擎会在这张表中创建一条记录,用于记录流程实例的用户和组之间的关系。

    GROUP_ID 字段用于记录流程实例所属的组。如果你在启动流程实例时没有指定组,那么 Activiti 引擎就会使用默认的组。在 Activiti 中,默认的组是通过将用户名和一个固定字符串进行拼接得到的,这个字符串就是 "f6817f48af4fb3af11b9e8bf182f618b"。

    所以,如果你看到 ACT_RU_IDENTITYLINK 表中 GROUP_ID 字段显示的是这个字符串,那么很可能是你在启动流程实例时没有指定组。你可以在启动流程实例时指定组,例如:

    Map<String, Object> variables = new HashMap<>();
    variables.put("groupId", "admin");
    ProcessInstance instance = runtimeService.startProcessInstanceByKey(key, id, variables);
    
    

    这样就可以将流程实例的组设置为 "admin"。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月9日