如何启动流程、完成任务等操作,几乎每个操作都会对数据库产生影响,当然大多数操作都是向数据库中插入数据。一般由流程驱动的系统会提供各种数据的查询功能,例如某个用户参与过的流程、跟踪流程办理状态、已经办理完成(归档)的流程
运行时与历史数据不同的查询方法,以及标准查询API不能满足复杂查询时如何使用Native Query(使用基于MyBatis的SQL语句方式查询)方式自定义查询
Query API简介
Activiti的查询API分类两类:标准查询与Native查询。所谓标准查询是在以Java对象的方式通过创建一个指定类型的Query对象(实现Query接口,图的左半部分)后用链式编程的方式设置查询参数。但是标准查询有一个弊端,不支持复杂的查询,比如多张表联合查询或者使用或(SQL的OR关键字)关系查询。因此引擎从5.11版本开始提供了Native查询,允许采用标准SQL的方式查询流程对象,不过Native查询仅支持部分流程对象,并且查询对象需要实现图右半部分的NativeQuery接口?