Activiti 用户指南(查询API)

in 网站建设
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

查询API

有两种方法可以从引擎查询数据:查询API和原生查询。查询API允许使用流利的API编写完全类型安全的查询,你可以向查询中添加各种条件(所有条件都作为逻辑AND一起应用),也可以仅添加一个顺序,以下代码显示了一个示例:

List<Task> tasks = taskService.createTaskQuery()
    .taskAssignee("kermit")
    .processVariableValueEquals("orderId", "0815")
    .orderByDueDate().asc()
    .list();

有时你需要更强大的查询,例如使用OR运算符的查询或使用查询API无法表达的限制,对于这些情况,引入了原生查询,使你可以编写自己的SQL查询。返回类型由你使用的Query对象定义,数据被映射到正确的对象中,例如TaskProcessInstanceExecution等....由于查询将在数据库中触发,因此你必须使用数据库中定义的表名和列名,这需要一些有关内部数据结构的知识,建议谨慎使用原生查询,可以通过API检索表名,以使依赖性尽可能小。

List<Task> tasks = taskService.createNativeTaskQuery()
  .sql("SELECT count(*) FROM " + managementService.getTableName(Task.class) + " T WHERE T.NAME_ = #{taskName}")
  .parameter("taskName", "gonzoTask")
  .list();

long count = taskService.createNativeTaskQuery()
  .sql("SELECT count(*) FROM " + managementService.getTableName(Task.class) + " T1, "
    + managementService.getTableName(VariableInstanceEntity.class) + " V1 WHERE V1.TASK_ID_ = T1.ID_")
  .count();


关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看