非持久化模型
概念
非持久化模型又叫瞬时模型。
与业务模型不同,顾名思义,非持久化模型不具备持久化特性,不会存储具体的业务数据,但是依然会保留一张模型元信息表。
非持久化模型一般用于数据间传输的场景,作为行为交互过程的信息载体,但这些信息对于业务来说不需要存储。
没有特殊指定的情况下,所有的模型都是持久化模型,在模块启动时,Trantor 生命周期会解析持久化模型的结构,并向 DataStore 注册。DataStore 在收到注册请求后,会按需进行 DDL(创建表或修改表结构)产生真实物理表。同时 Trantor 会为每个持久化模型生成一组系统默认 可编排服务,包含基础 CUD 和默认视图跳转。
非持久化模型与持久化模型的不同点:
- 不会向 DataStore 注册,因此不会有真实物理表对应
- 这也意味着无法作为其它持久化模型的 Link、Lookup 关联模型
- 可以作为 Json 字段类型的目标模型使用
- 赋予非持久化模型和持久化模型相同的逻辑
使用场景
非持久化模型往往用于以下场景:
- 用于承载和底层存储模型不适配的交互
- 用于 Json 字段的结构描述
- 用于将外部数据源接入 Trantor 体系
定义
- 非持久化模型的在线化定义比持久化模型要简单的多,由于不向DS注册,所以非持久化模型不需要配置删除策略, 开启快照,开启搜索,开启订阅等配置信息。

- 字段配置规则和持久化模型没有太大区别,但是需要注意非持久化模型不能配置Link, Lookup 关联模型

- 非持久化模型也可以配置字段组

@FieldGroup
参考:@FieldGroup
@ModelConfig
参考:@ModelConfig