内嵌式关系

Since 0.5.2

内嵌式关系(Embedded Relation)是一个非物理存在的多对多关系,用于把多对多关系的记录保存在一个实体的字段中,而不是通过一个中间实体进行关联。

示例:

Member.json

{
    "fields": {
        "id": "uuid",
        "name": "varchar(100)"
    }    
}

Project.json

{
    "fields": {
        "id": "uuid",
        "memberIds": "varchar(500) dataType array<string>"
    },

    "relations": {
        "members": "*..* Member(memberIds) embedded expandable"
    }
}

上面配置把ProjectMember实体的多对多关系保存在memberIds字段中。

设置

  • 定义一个字段用于保存关系数据,该字段必须声明为dataType array<string>
    "memberIds": "varchar(500) dataType array<string>"
  • 定义一个多对多关系,把中间实体的声明改为内嵌字段的名称,并声明关系为embedded
    "members": "*..* Member(memberIds) embedded expandable"

其中memberIds为内嵌字段的名称

限制

内嵌式关系只能用于Expand操作,其他操作如Join不支持。

Bingosoft            updated 2018-10-23
上一篇:多对多关系 下一篇:唯一键

results matching ""

    No results matching ""