更新 llms-full.txt

This commit is contained in:
oyo
2025-08-17 14:10:46 +08:00
parent 191ef8c1eb
commit 0337f669ea

View File

@@ -649,18 +649,19 @@ DateTime endTime //会议结束时间
}
</code>
#### **2.9 读方案 (ReadPlan)**
- **定义与用途:** 在TOCO中针对DTO和VO读方案描述了如何基于查询对象从数据库获取DTO和VO列表数据主要提供了个能力
- **定义与用途:** 在TOCO中针对DTO和VO读方案描述了如何基于查询对象从数据库获取DTO和VO列表数据主要提供了个能力
- 根据查询条件返回符合条件的DTO或VO的id列表
- 根据查询条件返回符合条件的DTO或VO的id数量
- 根据字段过滤条件对DTO和VO的列表字段数据进行过滤
- **注意** 不派生自DTO的VO不能创建读方案
- 读方案能力边界
- 读方案的的查询能力是sql的简化实现了部分sql的查询能力仅支持Sql的 count、exists、left join, not、in、like、between、and、or、not 以及 ( ) , 以及排序 order by, 以及分页 limit offset 不能使用group by having 语法,不支持使用函数
- 读方案的的查询能力是sql的简化实现了部分sql的查询能力仅支持sql的 count、exists、left join, not、in、like、between、and、or、not 以及 ( ) , 以及排序 order by, 以及分页 limit offset 不能使用group by having 语法,不支持使用其他函数
- 在使用exists 和 left join的时候只能通过外键扩展其中如果外键是1N的时候只能使用exist 如果是11的时候则可以使用 left join 和 exists.
例如: 实体t 和他t1 t1存在列t_id为指向t的外键如果外键关系为1N则 select * from t where exists (select * from t1 where t.id=t1.id) 合法; elect * from t left join t1 on t.id=t1.id 非法
- 在过滤字段的选择上在使用exists的时候在条件中只能选择后表的字段 在使用 left join的时候则可以使用前表和后表字段
例如: 实体 t (id,name) ,实体 t1 (id,name,t_id) t1存在列t_id为指向t的外键, select * from t where exists (select * from t1 where t.id=t1.id and t.name like ) 非法, select * from t left join t1 on t.id=t1.id and t1.name like 合法
select * from t left join t1 on t.id=t1.id where t.name like 合法, select * from t left join t1 on t.id=t1.id where t1.name like 合法
- 在选择使用度方案的时候**必须**符合方案能力编辑,如果需求在读方案的能力之外,必须使用 **2.16 自定义查询** 实现功能
- 在选择使用度方案的时候**必须**符合方案能力边界,如果需求在读方案的能力之外,必须使用 ** [2.16 自定义查询] ** 实现功能
- **特别注意** 对于根据主键获取单个或者批量获取DTO或者VO并且不需要对DTO、VO的列表字段数据进行过滤的需求必须使用**DTO自动生成的预定义方法**,禁止使用读方案
- **关键配置:** 名称(小写字母+下划线不要以read_plan结尾,全局唯一)、返回结构(DTO/VO一个读方案**不能**同时返回多种DTO或VO)、查询条件的自然语言描述、是否生成计数方法、排序字段(如果选择不分页,则不需要)、过滤字段以及过滤条件。
- **与RPC、代码的关系:** 对于每一个返回DTO的读方案TOCO会为每种分页方式自动生成一个RPC方法其参数为对应的QTO返回值为DTO列表如果选择了生成计数方法则还会在生成一个RPC参数为QTO返回值为符合条件的DTO数量。同样对于每一个返回VO的读方案TOCO会自动生成一个Java方法其参数为对应的QTO返回值为VO列表方法内部逻辑已经由TOCO完全实现;如果选择了生成计数方法则还会生成一个count方法参数为QTO返回值为符合条件的DTO数量方法内部逻辑已经由TOCO完全实现