我有一个带有JPA实体变量的任务。

HistoricTaskInstanceQuery API提供的内容只能通过实体本身进行搜索:

query.processVariableValueEquals("entity", entity);


我的目标是按实体属性进行搜索,例如(伪代码):

query.processVariableAttributeEquals("entity", "entity.subEntity.name", name)


我该如何实现?

最佳答案

没有开箱即用的方法可以做到这一点。
要考虑的选项:


使用类似迭代器的结果集对结果集进行后期处理,以生成实体ID的列表,然后对实体表使用自定义查询。这相当农业,但可能是您最快的路线。
使用此处描述的方法创建自己的自定义MyBatis查询:https://www.activiti.org/userguide/#advanced.custom.sql.queries
在这里:http://www.jorambarrez.be/blog/2014/01/17/execute-custom-sql-in-activiti/


选项2可能是最适合您的选择,但还有更多工作要做。

格雷格

09-11 17:27