元数据创建
MDP资源管理器窗口显示:
在UAP-Studio中,依次点击【窗口】-【显示视图】-【其他】
显示视图窗口中,【MDP视图】-【MDP资源管理器】
创建元数据:
新建元数据组件
在MDP资源浏览器中,右击业务组件,选择 “新建实体组件”
新增实体组件窗口中,输入新建实体组件名称
创建元数据实体
创建实体:选择业务组件工具箱中的【实体】项,点击或拖拽到实体组件窗口中,创建空实体
导入属性:右键点击实体,选择【导入属性】,在弹出窗口中选择【从pdm(.xml)文件导入】,导入相应的pdm中的单个表
属性介绍
属性窗口-组件属性
点击模型画布窗口的空白处,属性窗口显示组件属性
版本号:记录组件当前版本,防止旧版本覆盖新版本。版本号自增加,每次保存增加1
代码风格:有NC传统样式、标准样式和自定义样式三种:
NC 传统样式:生成AGGVO
标准样式:SuperVO
自定义样式:按PubApp规则生成VO 代码
※项目开发规范强制要求设计元数据时使用自定义样式
名称:组件名称,必须全局唯一
名称空间:元数据集合标识,通常与所属模块一致
所属模块:该实体组件所属的模块
行业/修改人:从配置的开发者中获取
主实体: 组件里如果有实体,则必须设置一个主实体
属性窗口-实体属性
点击元数据实体,属性窗口显示选定的实体属性
访问器:访问器类型包括POJO/NCVO/ AggVO。针对单主表、主子表或者多子表中主表对应的实体,访问器类型选择AggVO,即聚合VO访问器;除此以外的实体,选择NCVO
包装类名:访问器类型是AggVO时,需要一个聚合VO类型的包装类。指明主子实体的关系
类名称:生成VO时的完整VO类路径
名称:VO类名
缺省表名:生成数据库表时的表名。
是否继承类:是否继承自其他实体,默认false
显示名称:画布上实体的显示名称
行业/修改人:从配置的开发者中获取
主属性:实体必须设置主属性,对应数据库表的主键
模型视图窗口-实体属性
点击元数据实体,模型视图窗口显示选定的实体属性
属性名 | 含义 |
类型样式 | 目前支持Single、REF、ARRAY、LIST 四种,用类型样式来进一步描述类型的最终形态。例如,对于String类型,可以是String数组,可以是String,也可以是是List<String>,通过类型样式描述数组、列表、或是单一信息 |
类型 | 属性的数据类型,可以自行选择。注意:主键必须为UFID 类型 |
字段名称/类型 | 属性在数据库中存储的字段名称/类型 |
参照名称 | 若属性是参照类型,则使用参照名称标识 |
隐藏 | 若勾选,表示该属性在界面中是不可见的,并且在模板设置中不能修改其可见性 |
空 | 属性值是否允许为空,对于主键字段,不能勾选 |
访问策略 | 实体间关联时,需要设置主实体对子实体的访问策略 |
缺省值 | 属性的默认值 |
最大值/最小值 | 元数据持久化时进行值域的限制 |
计算属性 | 由其他属性计算得到,只用于显示,而不会持久化到数据库 |
扩展标签 | 可以给属性加标注,如@uniqueCheck,在程序中可以通过标签来过滤属性 |
动态属性 | 勾选后生成的VO中不显式声明属性字段,值按map<K,V>的格式保存,规范要求勾选 |
扩展表 | 一个实体可以跨越多张数据库表存在。除了实体信息页签上指定了缺省表名外,还可以在属性信息页签上指定扩展表名。系统由元数据的持续化机制负责维护这扩展表之间的的关系 |
接口实现
在【MDP资源浏览器】的引用模型中,找到需要实现的业务接口,鼠标拖拽到画布,在【关联关系工具箱】中选择“实现”, 由实体画向业务接口
常用接口:
必须接口:IBDObject
位置:Ref Model/uapbs/METADATA/meta/general_interface.bmf
审批接口:流程信息获取、回写(IFlowBizItf),单据主子VO 查询(businInterface),业务PK 锁(IPfBillLock)
位置:Ref Model/baseapp/METADATA/pf/pfbizitf.bmf
创建人/创建时间/修改人/修改时间 接口:IAuditInfo
组织/组织多版本/业务日期 接口:IOrgInfo,IBillDate
行号 接口:IRowNo
位置:Ref Model/baseapp/METADATA/meta/IBillInterface.bmf
业务接口属性映射
配置“业务接口属性映射”关系
元数据通过实现UAP预置接口,以完成某些特定功能,如特定字段的自动赋值等。实现功能时,接口需要获取元数据中指定属性的值作为输入或输出,因此需要将元数据中属性映射到接口中
元数据发布/代码/脚本
元数据发布
元数据保存后才能发布
发布时,被依赖的组件会一并发布
开发环境的发布只是为了开发人员测试需要,提交产品时只需要将bmf文件提交到产品相应组件的METADATA目录下,安装时会自行发布到数据库中
生成java源代码
生成Java源代码前,必须确保元数据文件已经保存并发布
生成建库脚本
生成建库脚本前,必须确保元数据文件已经保存并发布