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. 单个筛选条件的添加与配置

添加单个条件的操作步骤简单,且条件的配置项会根据字段数据类型动态适配(如数字类型支持「大于/小于」,文本类型支持「包含/等于」),无需手动选择适配的比较逻辑:

  1. 点击Fetch Criteria旁的添加按钮,弹出条件配置面板;
  2. 配置第一个子项Field Name:选择要筛选的数据结构字段(如AgeFirstNameHireDate);
  3. 配置第二个子项Comparison Logic:选择比较逻辑(平台会根据Field Name的类型自动筛选适配的逻辑,无无效选项);
  4. 配置第三个子项Input Mapping:传入筛选值,支持常量、流程数据、空值、转换器等多种方式,适配不同的业务场景。

2. 多条件的组合逻辑

在实际业务中,经常需要多条件组合查询(如「年龄≥25 且 姓名包含R」),Fetch Criteria对多条件的处理有固定规则,需严格遵循:

  1. 默认逻辑:多个筛选条件之间默认使用AND(与)逻辑组合,即只有同时满足所有条件的记录,才会被查询返回
  2. 逻辑限制:Fetch Criteria不直接支持OR(或)逻辑(如「年龄≥25 或 姓名包含R」),若需实现OR逻辑,需通过Decisions的规则(Rule)自定义代码实现;
  3. 多条件添加:继续点击Fetch Criteria旁的+按钮,即可添加多个条件,所有条件会按AND逻辑组合。

3. 注意事项

  • 筛选值的类型必须与Field Name的类型一致(如数字类型字段不能传入文本常量),否则会触发流程报错;
  • 文本类型的筛选支持大小写不敏感(选择Contains (Without Case)比较逻辑),是日常开发中最常用的文本筛选方式;
  • 日期类型字段的比较逻辑支持「大于/小于/等于」(如HireDate > 2025-01-01),可实现时间范围的筛选。

四、实操演示:实现三类常见的查询场景

结合之前创建的Employment Information(员工信息)自定义数据结构,实现日常开发中最常见的三类查询场景。

场景1:查询某数据结构的全部记录

业务需求:获取所有员工的信息记录,无任何筛选条件,用于员工列表展示。
操作步骤

  1. 打开Decisions流程设计器,拖拽Fetch Entity步骤到流程中;
  2. 在属性面板配置Type NameEmployment Information
  3. 不配置Fetch Criteria、Limit、Sort(保持默认);
  4. 运行流程调试,步骤会沿Results路径执行,输出所有员工信息的列表。

场景2:添加单条件筛选查询

业务需求:获取「入职时间≥2025-01-01」的员工信息,实现时间范围筛选。
操作步骤

  1. 拖拽Fetch Entity步骤,配置Type Name为Employment Information
  2. 点击Fetch Criteria旁的+按钮,添加筛选条件:
    • Field Name:选择HireDate(入职时间);
    • Comparison Logic:选择Greater Than Or Equal(大于等于);
    • Input Mapping:选择「常量」,输入2025-01-01
  3. 运行流程调试,步骤仅返回入职时间符合条件的员工记录。

场景3:添加多条件筛选+排序查询

业务需求:获取「是否为管理者(IsManager=True) 且 姓名包含Li(大小写不敏感)」的员工信息,并按入职时间降序排序。
操作步骤

  1. 拖拽Fetch Entity步骤,配置Type Name为Employment Information
  2. 添加第一个筛选条件:
    • Field Name:IsManager
    • Comparison Logic:Equal
    • Input Mapping:常量True
  3. 继续点击+按钮,添加第二个筛选条件:
    • Field Name:FirstName
    • Comparison Logic:Contains (Without Case)
    • Input Mapping:常量Li
  4. 配置排序:Sort Field选择HireDate,Sort Order Field选择Descending(降序);
  5. 运行流程调试,步骤仅返回同时满足两个条件的员工记录,且结果按入职时间从新到旧排序。

五、总结

  1. Fetch Entity是Decisions的核心数据查询步骤,相当于内置的基础SELECT查询,支持自定义/平台内部数据类型的记录查询;
  2. 步骤有两大输出路径:Results(有数据,输出数据集)No Results(无数据,仅分支控制),无数据路径不输出任何内容;
  3. Type Name是唯一必配项,选定后步骤会自动适配输出类型,必须与查询的数据源一致;
  4. Fetch Criteria是精准查询的关键,支持按任意字段添加筛选条件,比较逻辑会根据字段类型动态适配,筛选值类型需与字段类型一致;
  5. 多条件默认使用AND逻辑组合,不直接支持OR逻辑,需通过规则/自定义代码实现;
  6. 筛选、限制、排序三个选配项可自由组合,满足日常90%以上的基础查询场景。

系列预告

本文为Decisions数据结构的第三篇,讲解了Fetch Entity步骤的配置和实操,掌握后即可实现各类基础的数据查询。下一篇将为大家讲解Decisions数据结构的进阶扩展功能——配置文件夹(Configuration Folders),包括配置文件夹的核心作用、三大功能、自定义仪表板的创建。

注意:本文仅代表个人学习记录,如需生产环境级方案,请咨询艾体宝团队

Read more

Log4j 详解:Java经典日志框架

Log4j 详解:Java经典日志框架

在 Java 开发中,日志是排查问题、监控程序运行状态的核心手段。相比于System.out.println,专业的日志框架能提供更灵活的配置、更优的性能和更丰富的功能。本文将全面讲解 Log4j 的核心概念、配置方式及实战技巧,帮助你快速掌握并落地到项目中。 一、日志框架概述 1.1 什么是日志 日志是程序运行过程中产生的事件记录,典型场景包括: * 业务流程节点:如 “用户 ID=123 提交订单,订单号 = 456”; * 异常详情:捕获异常时记录完整堆栈信息(替代e.printStackTrace()); * 关键参数 / 结果:如接口入参、返回值; * 系统状态:如 JVM 内存使用、数据库连接池状态。 1.2 为什么要打印日志? 调试器断点仅适用于开发阶段,且可能因断点导致多线程问题 “隐藏”;而日志能持久化记录程序运行轨迹,

By Ne0inhk
飞算JavaAI:重新定义研发效能,让代码生成如丝般顺滑

飞算JavaAI:重新定义研发效能,让代码生成如丝般顺滑

飞算JavaAI:重新定义研发效能,让代码生成如丝般顺滑 1. 摘要 在软件开发的浩瀚星空中,每一位程序员都渴望找到提升研发效能的金钥匙。本文将深入探讨飞算JavaAI这一革命性的智能编程助手,它不仅仅是一个代码生成工具,更是开发者效率提升的全新解决方案。通过深入剖析其本地化智能、精准的上下文理解和可控的代码生成机制,我们将揭示如何彻底改变传统软件研发模式。从根本上解决重复劳动、效率低下的痛点,飞算JavaAI正在重新定义Java开发的生产力边界,为开发者带来前所未有的编程体验。 2. 研发的痛与梦:智能编程助手的诞生背景 2.1. 传统研发的困境 每一位程序员都曾经历过这些令人沮丧的时刻: * 重复编写千篇一律的样板代码 * 在复杂项目中迷失代码架构 * 浪费大量时间在低价值的技术细节上 "程序员的价值不应该被重复性劳动消耗,而是应该专注于创新和解决实际问题。" —— 硅谷资深工程师 2.2. 智能编程的理想与现实 传统代码生成工具的局限性: 维度 传统工具 飞算JavaAI 上下文理解 有限 深度智能 本地化处理 依赖云端

By Ne0inhk
运用Java及SunriseSunsetCalculator,探寻长沙市的理论日照时长

运用Java及SunriseSunsetCalculator,探寻长沙市的理论日照时长

目录 前言 一、理论日照时长简介 1、理论日照时长计算 2、理论日照时长数学计算 二、SunriseSunsetCalculator求解 1、SunriseSunsetCalculator引入 2、时区计算设置 3、理论时长计算 4、完整的代码及日常统计 三、总结 前言         在地理学与气象学的研究领域,日照时长一直是备受关注的重要指标。它不仅与地球的自转、公转以及大气环流等诸多自然因素紧密相连,更对人类的生产生活有着深远的影响。从农作物的生长周期到太阳能资源的开发利用,从城市的规划布局到居民的健康生活,日照时长都扮演着不可或缺的角色。而长沙市,作为湖南省的省会城市,以其独特而复杂的地理环境和气候特征,其日照时长的研究具有重要的现实意义和学术价值。         长沙市地处中国南方,属于亚热带季风气候区。这里四季分明,降水充沛,但同时也存在着云层覆盖多、日照时间相对较短等特点。随着城市化进程的加速和经济的快速发展,对于日照时长的精准把握需求日益迫切。一方面,城市规划者需要了解日照时长的分布规律,以合理规划城市建筑布局,确保居民住宅和公共设施能

By Ne0inhk
Java毕设项目:基于springboot的电影院票务预定系统(源码+文档,讲解、调试运行,定制等)

Java毕设项目:基于springboot的电影院票务预定系统(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围::小程序、SpringBoot、SSM、JSP、Vue、PHP、Java、python、爬虫、数据可视化、大数据、物联网、机器学习等设计与开发。 主要内容:免费开题报告、任务书、全bao定制+中期检查PPT、代码编写、🚢文编写和辅导、🚢文降重、长期答辩答疑辅导、一对一专业代码讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。 特色服务内容:答辩必过班 (全程一对一技术交流,帮助大家顺利完成答辩,小白必选) 全网粉丝50W+,累计帮助2000+完成优秀毕设 🍅文末获取源码🍅 感兴趣的可以先收藏起来,还有大家在毕设选题,

By Ne0inhk