diff --git a/llms-full.txt b/llms-full.txt index d37c404..2f569a2 100644 --- a/llms-full.txt +++ b/llms-full.txt @@ -245,7 +245,7 @@ DateTime endTime; //会议结束时间 - **预定义方法:** 对于每一个DTO,TOCO会自动其根Entity的唯一索引生成一些预定义的RPC方法及实现,预定义方法不仅获取了根Entity的数据,还通过RPC调用的方式**自动**获取了**所有扩展字段**的数据,并对数据进行了拼装处理。如实体user有unique index(username),则会针对UserDto生成UserDto UserDtoService.getByUserName(String userName)和List UserDtoService.getByUserNames(List userNames)。预定义方法内部根据外键关系自动生成了复杂DTO数据的递归、Join拼装的能力,会直接返回DTO内部的所有继承字段和扩展字段的数据。注意自定义字段的数据获取不会自动生成,需要在对应的convert方法中编写代码。 - **公开性:** DTO可以设置公开性,如果DTO为公开,则其生成的预定义RPC方法也为公开RPC,可以被其他模块订阅并调用;如果DTO为非公开,则其生成的预定义RPC方法也为非公开RPC,其他模块不可见 -- **跨模块依赖:** 如果DTO内引用了其他模块的DTO,则TOCO会自动订阅其他模块的RPC(getByIds,getBy${foreignKey}等)方法,用来获取对应的DTO +- **跨模块依赖:** 如果DTO内引用了其他模块的DTO,则需要订阅其他模块的RPC(getByIds,getBy${foreignKey}等)方法,用来获取对应的DTO - **复杂嵌套DTO获取流程:** 如果我们需要获取DTO,通常有2种方式,且两种方式都可以直接获取到复杂嵌套的DTO数据: - 第1种: 通过预定义方法获取DTO - 第2种: 通过读方案获取DTO @@ -474,7 +474,7 @@ DateTime endTime; //会议结束时间 - **派生源默认使用BaseDTO:** 除非用户指定了VO的派生源DTO,否则创建VO时只可以用**BaseDTO**为派生源。 - **与DTO的转换关系:** 在创建一个**有派生源的**VO后,TOCO会在生成代码时自动生成2种convert方法:1.基础convert方法,从DTO转换为VO,仅转换结构以及基本类型字段的get/set,方法命名为convertTo${VoName}、convertTo${VoName}List、convertTo${VoName}Map,其中**Map转换方法**为底层批量方法,通常也是自定义字段逻辑编写的位置(复用性好,会被其他convert方法调用),单个和列表convert方法都通过**调用Map方法**来实现;2.带数据拼装逻辑的convert方法,内部会**自动**调用基础convert方法从DTO转换为VO并设置基本类型字段数据,然后再根据外键**自动**获取**扩展字段**的数据以拼装最终数据,方法命名为convertAndAssembleData、convertAndAssembleDataList,也就是说这两个方法已经**自动**获取了所有**继承字段**和**扩展字段**的数据)。这2种方法对应的代码会生成在VO对应的Converter类中 - **字段数据获取:** 对于继承自DTO的字段、以及扩展字段,TOCO会在convert方法中自动生成数据的获取代码,无需手动实现这两种字段的获取和拼装逻辑。对于自定义字段,则**必须**在最底层的convertTo${VoName}Map方法中实现对应的获取和拼装逻辑,以便于其他convert方法都能够**复用**这段逻辑。**禁止**在其他convert方法中实现自定义字段逻辑,因为这样会导致某些场景下数据拼装不完整。 -- **跨模块依赖:** 如果VO内存在由其他模块DTO派生出的子VO,则TOCO会自动订阅其他模块的RPC(getByIds,getBy${ForeignKey}s等)方法,用来获取对应的DTO,然后再转换为子VO,无需手动订阅这些RPC +- **跨模块依赖:** 如果VO内存在由其他模块DTO派生出的子VO,则需要订阅其他模块的RPC(getByIds,getBy${ForeignKey}s等)方法,用来获取对应的DTO,然后再转换为子VO - **复杂嵌套VO获取流程:** 如果我们需要获取VO,通常有3种方式,且3种方式都可以直接获取到复杂嵌套的VO数据: - 第1种: 先通过预定义方法获取VO的派生源BaseDTO,再通过convertAndAssembleData或convertAndAssembleDataList方法转换成VO - 第2种: 先通过读方案获取VO的派生源BaseDTO,再通过convertAndAssembleData或convertAndAssembleDataList方法转换成VO