搜索
当前位置: sk彩票 > 对象引用 >

Openbiz 数据对象元数据

gecimao 发表于 2019-05-08 23:51 | 查看: | 回复:

  Openbiz通过BizDataObj类映射数据库中的表到数据对象(DO)。每一个数据对象都定义了一个表名和表中的列与数据对象字段的映射关系。下图展示的就是一个最简单的数据对象与单一数据表之间的影射关系。

  Openbiz数据对象有一个核心类“BizDataObj”,这个类的元数据定义如下:

  Name 属性是一个数据对象的标识符。Name属性应该与数据对象的文件名完全一致。

  Table 属性是数据对象所映射的数据库的表名字。我们通常把表在BizDataObj元素中也将其成为“基本表”。

  SearchRule 属性为从数据源(数据表)来获取数据时附加搜索规则。

  OtherSQLRule 属性为从数据源(数据表)来获取数据时附加用户指定的规则。

  CreateCondition 属性为数据记录的创建行为设定了访问规则 (ACL)

  UpdateCondition属性为数据记录的更新行为设定了访问规则 (ACL)

  CreateCondition属性为数据记录的删除行为设定了访问规则 (ACL)

  Openbiz将检测(fld1,fld2) 和 (fld3,fld4)的唯一性,如果数据不是唯一将会抛出异常

  BizField元素描述了数据对象的字段,一个字段通常用于映射到一个表格得列,它也可以是一个SQL表达式或者计算后的值。BizField元素具有如下属性:

  Join 属性是在Join元素中定义的名字。如果”Join”属性在BizField元素中指定,”Column”属性指向到连接表的列。

  Column 属性默认是基本表的列。如果”Join”属性在BizField元素中指定,”Column”属性指向到连接表的列。

  SQLExpr属性映射数据库引擎的SQL表达式为一个数据对象的字段。如果SQLExpr被指定,必须确定Column属性是空的,否则会引起错误。

  Format 属性指定了目标字段的数据现实格式,不同的数据类型会有不同的格式定义。我们将在数据类型与格式章节对其进行详细讲解。

  Value 属性是一个按指定字段计算后得出的数值。Value属性支持简单表达式。

  Validator 属性定义了一个数据有效性校验规则,通常被应用在数据记录创建或更新时来校验本列的数值是否为有效。

  Join 元素描述了一个表如果连接到当前数据对象的基本表。通过连接,一个数据对象可以将其字段映射到多个数据表中。Join元素具有如下属性:

  Column 属性定义了连接表中的一个列,这个列通常是指向基本表的主键的外键列。

  JoinRef 属性定义了一个连接引用。使用JoinRef我们可以定义一个引用到连接表的引用,它也被叫做二次引用。

  ColumnRef 属性引用了基本表(或者JoinRef引用表)的一个列,ColumnRef通常映射的是基本表中的主键

  Object 元素定义了当前数据对象与其它数据对象的映射关系。影射关系可以是多对一,一对多,一对一和多对多映射,Object元素具有如下属性:

  Relationship 属性定义了当前数据对象和引用的数据对象的映射关系,它的值可以是 M-1, 1-M, M-M 和 1-1.

  Column属性指定了被引用对象的数据表的一个列,这个列包含了基本表的外键。

  OnDelete 属性定义了当一个记录将被删除之前应采取什么行为。可用的选项如下:

  - Cascade. 不管行在主表还是被引用表中被删除,在其它引用表中与该行记录相外键匹配的子记录也将会被删除。这就叫做联立删除,与CascadeDelete = Y 的意义相同

  - Restrict. 如果有一条记录存在于该外键所对应的引用表中并且其值与当前值为引用关系,那么该记录将不允许被删除

  - SetNull. 当引用的行被删除时,在引用行中的外键值将被设置为Null

  OnUpdate 属性定义了当一个记录被更新之前将采取什么行为,可用的选项如下:

  - Cascade. 不管行在主表还是被引用表中被删除,在其它引用表中与该行记录相外键匹配的子记录也将会被更新为同样的值。

  - Restrict. 如果有一条记录存在于该外键所对应的引用表中并且其值与当前值为引用关系,那么该记录将不允许被更新

  - SetNull. 当引用的行被更新时,在引用行中的外键值将被设置为Null

  XTable 如果当前数据对象的映射关系是多对多,那么此属性则定义了此关系中的中间表的表名。

  XDataObj 是一个 BizDataObject对象,它的基本表就是中间表XTable。当用户从引用的数据对象到基本数据对象关联一个记录时,一个新的记录将会在XdataObj对象对应的中间表中被创建。

本文链接:http://moodyjews.net/duixiangyinyong/310.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部