10-Decisions Datastructures数据结构:数据查询Fetch Entity步骤全解析
Decisions Datastructures数据结构:数据查询Fetch Entity步骤全解析
前言
在前两篇内容中,我们了解了Decisions自定义数据结构的创建方法,以及数据结构与数据库的映射关系、基础增删改操作。而在实际的业务流程中,数据查询是使用频率最高的操作——从数据库中精准获取所需数据,才能支撑流程的分支判断、数据展示、业务逻辑处理等核心场景。
Decisions V9中封装了专门的查询步骤Fetch Entity,它相当于平台内置的基础SELECT查询,无需手动编写SQL,通过可视化配置就能实现数据的筛选、限制、排序。本文将从Fetch Entity的核心作用讲起,详细解析步骤的属性配置、筛选条件的设置方法。
一、Fetch Entity步骤概述
Fetch Entity是Decisions中用于获取数据记录的基础且核心步骤,适用于用户自定义数据结构和平台内部数据类型,是实现所有数据查询场景的基础,其设计贴合低代码的可视化特点,无需掌握SQL语法即可上手。
1. 核心作用
- 作为Decisions的基础「查询器」,实现对自定义数据结构/平台内部数据类型的记录查询;
- 支持条件筛选、结果数量限制、字段排序,覆盖日常业务中90%以上的基础查询场景;
- 输出查询结果供下游流程使用(如表单展示、流程分支判断、数据修改)。
2. 两大默认输出路径
Fetch Entity步骤设计了分支化的输出逻辑,根据查询结果自动走不同的流程路径,方便开发者做后续的异常处理和逻辑分支,这是Decisions流程设计的核心特点之一:
- Results(结果路径):当查询到符合条件的数据时,流程沿此路径执行,会输出查询到的数据集;
- No Results(无结果路径):当未查询到任何数据时,流程沿此路径执行,无任何数据输出,仅用于流程分支控制(如添加「无数据提示」「终止流程」等逻辑)。
重要提示:No Results路径仅做流程分支,无法输出「空数据」相关内容,若需对无数据场景做处理,需在该路径下单独配置步骤。
二、Fetch Entity步骤属性配置
Fetch Entity的所有查询逻辑均通过步骤属性面板可视化配置,核心配置项分为「必配项」和「选配项」,必配项用于指定查询的数据源,选配项用于实现精准的查询规则,配置界面简洁且逻辑清晰。
1. 必配项:Type Name(类型名称)
Type Name是Fetch Entity步骤唯一的必配项,用于指定「要查询哪个数据结构的记录」,配置规则和特点如下:
- 配置方式:通过下拉列表选择,支持检索,可快速找到目标数据类型;
- 支持类型:既可以是用户自定义数据结构(如之前创建的
Employment Information),也可以是Decisions内部数据类型(如Account、User等); - 配置后效果:选定Type Name后,步骤的输出会自动变为该类型的列表(List of [Type Name]),无需手动配置输出类型,平台会自动适配。
核心原则:Type Name必须与要查询的数据源一致,否则会出现查询无结果或流程报错的情况。
2. 选配项:数据筛选、限制与排序
完成Type Name配置后,即可通过三个选配项实现精准的查询规则,三个配置项可单独使用,也可组合使用,满足不同的查询需求。
| 配置项 | 核心作用 | 配置细节 |
|---|---|---|
| Fetch Criteria(获取条件) | 为查询添加筛选规则,仅返回符合条件的记录 | 可添加多个条件,支持按数据结构的任意字段筛选 |
| Limit(限制) | 限制查询返回的结果数量 | 输入数字即可,如填「10」则仅返回前10条记录 |
| Sort(排序) | 对查询结果按指定字段排序 | 包含两个子项:Sort Field(排序字段)、Sort Order Field(排序方式:升序Ascending/降序Descending) |
![]() |
三、Fetch Criteria(获取条件)深度解析
Fetch Criteria是Fetch Entity步骤中最核心的选配项,也是实现「精准查询」的关键,其支持按数据结构的任意字段配置筛选条件,且支持多条件组合,以下详细讲解配置方法、逻辑规则和注意事项。
1. 单个筛选条件的添加与配置
添加单个条件的操作步骤简单,且条件的配置项会根据字段数据类型动态适配(如数字类型支持「大于/小于」,文本类型支持「包含/等于」),无需手动选择适配的比较逻辑:
- 点击Fetch Criteria旁的添加按钮,弹出条件配置面板;
- 配置第一个子项Field Name:选择要筛选的数据结构字段(如
Age、FirstName、HireDate); - 配置第二个子项Comparison Logic:选择比较逻辑(平台会根据Field Name的类型自动筛选适配的逻辑,无无效选项);
- 配置第三个子项Input Mapping:传入筛选值,支持常量、流程数据、空值、转换器等多种方式,适配不同的业务场景。
2. 多条件的组合逻辑
在实际业务中,经常需要多条件组合查询(如「年龄≥25 且 姓名包含R」),Fetch Criteria对多条件的处理有固定规则,需严格遵循:
- 默认逻辑:多个筛选条件之间默认使用AND(与)逻辑组合,即只有同时满足所有条件的记录,才会被查询返回;
- 逻辑限制:Fetch Criteria不直接支持OR(或)逻辑(如「年龄≥25 或 姓名包含R」),若需实现OR逻辑,需通过Decisions的规则(Rule) 或自定义代码实现;
- 多条件添加:继续点击Fetch Criteria旁的+按钮,即可添加多个条件,所有条件会按AND逻辑组合。
3. 注意事项
- 筛选值的类型必须与Field Name的类型一致(如数字类型字段不能传入文本常量),否则会触发流程报错;
- 文本类型的筛选支持大小写不敏感(选择
Contains (Without Case)比较逻辑),是日常开发中最常用的文本筛选方式; - 日期类型字段的比较逻辑支持「大于/小于/等于」(如
HireDate > 2025-01-01),可实现时间范围的筛选。
四、实操演示:实现三类常见的查询场景
结合之前创建的Employment Information(员工信息)自定义数据结构,实现日常开发中最常见的三类查询场景。
场景1:查询某数据结构的全部记录
业务需求:获取所有员工的信息记录,无任何筛选条件,用于员工列表展示。
操作步骤:
- 打开Decisions流程设计器,拖拽Fetch Entity步骤到流程中;
- 在属性面板配置Type Name为
Employment Information; - 不配置Fetch Criteria、Limit、Sort(保持默认);
- 运行流程调试,步骤会沿Results路径执行,输出所有员工信息的列表。
场景2:添加单条件筛选查询
业务需求:获取「入职时间≥2025-01-01」的员工信息,实现时间范围筛选。
操作步骤:
- 拖拽Fetch Entity步骤,配置Type Name为
Employment Information; - 点击Fetch Criteria旁的+按钮,添加筛选条件:
- Field Name:选择
HireDate(入职时间); - Comparison Logic:选择
Greater Than Or Equal(大于等于); - Input Mapping:选择「常量」,输入
2025-01-01;
- Field Name:选择
- 运行流程调试,步骤仅返回入职时间符合条件的员工记录。
场景3:添加多条件筛选+排序查询
业务需求:获取「是否为管理者(IsManager=True) 且 姓名包含Li(大小写不敏感)」的员工信息,并按入职时间降序排序。
操作步骤:
- 拖拽Fetch Entity步骤,配置Type Name为
Employment Information; - 添加第一个筛选条件:
- Field Name:
IsManager; - Comparison Logic:
Equal; - Input Mapping:常量
True;
- Field Name:
- 继续点击+按钮,添加第二个筛选条件:
- Field Name:
FirstName; - Comparison Logic:
Contains (Without Case); - Input Mapping:常量
Li;
- Field Name:
- 配置排序:Sort Field选择
HireDate,Sort Order Field选择Descending(降序); - 运行流程调试,步骤仅返回同时满足两个条件的员工记录,且结果按入职时间从新到旧排序。
五、总结
- Fetch Entity是Decisions的核心数据查询步骤,相当于内置的基础SELECT查询,支持自定义/平台内部数据类型的记录查询;
- 步骤有两大输出路径:Results(有数据,输出数据集)、No Results(无数据,仅分支控制),无数据路径不输出任何内容;
- Type Name是唯一必配项,选定后步骤会自动适配输出类型,必须与查询的数据源一致;
- Fetch Criteria是精准查询的关键,支持按任意字段添加筛选条件,比较逻辑会根据字段类型动态适配,筛选值类型需与字段类型一致;
- 多条件默认使用AND逻辑组合,不直接支持OR逻辑,需通过规则/自定义代码实现;
- 筛选、限制、排序三个选配项可自由组合,满足日常90%以上的基础查询场景。
系列预告
本文为Decisions数据结构的第三篇,讲解了Fetch Entity步骤的配置和实操,掌握后即可实现各类基础的数据查询。下一篇将为大家讲解Decisions数据结构的进阶扩展功能——配置文件夹(Configuration Folders),包括配置文件夹的核心作用、三大功能、自定义仪表板的创建。
注意:本文仅代表个人学习记录,如需生产环境级方案,请咨询艾体宝团队。
