查询API
我们的流程执行中,有很多需要查询的操作,比如查询某用户当前有哪些任务待处理等等。Activiti中各个接口提供了强大的查询API,使用非常方便,这里我们简单介绍一下。
Query构造查询
对于各个接口,Activiti封装了Query
对象,我们可以通过它来构造查询条件。
获取查询构造器
Activiti中,各种接口都提供了形如createQuery()
的方法,用于获取该组接口对应实体类的查询构造器。
例子:
UserQuery userQuery = identityService.createUserQuery();
组装查询条件
在查询构造器上,我们可以组装各种查询条件,通常都是对应实体类的字段。
例子:
userQuery = userQuery.userId("tom");
上面代码中,userId()
输入了一个查询条件,方法返回值还是UserQuery
类型,因此我们可以使用链式调用的方式来编写。
获取结果
查询结果分为两种:单个结果和结果列表,其中后者还需要考虑分页的情况。Activiti把这些情况都封装好了。
单个结果:
User user = userQuery.singleResult();
结果列表:
List<User> userList = userQuery.list();
结果列表分页:
List<User> userList = userQuery.listPage(firstResult, maxResults);
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。