多对多关系(many-to-many)

定义多对多关系需要定义一个中间实体进行关联

简单模式

Example: Role *..* User

Role:

{
    "fields": {
        "id": "uuid"
    },
    "relations": {
        "users": "*..* User(RoleUser)
    }
}

RoleUser是中间实体,必须指定

User:

{
    "fields": {
        "id": "uuid"
    },
    "relations": {
        "roles": "*..* Role(RoleUser)
    }
}

RoleUser是中间实体,必须指定

RoleUser:

{
    "fields": {
        "roleId": "-> Role primary key",
        "userId": "-> User primary key"
    }
}

中间实体必须定义两个多对一关系并分别指向多对多关系的两个实体

设置expandable

{
    "relations": {
        "users": "*..* User(RoleUser) expandable"
    }
}

设置queryable

Single 0.6.0

{
    "relations": {
        "users": "*..* User(RoleUser) expandable queryable"
    }
}

expandable=true时,多对多关系的queryable默认也true,无需另外声明。

Bingosoft            updated 2018-11-01
上一篇:一对多关系 下一篇:内嵌式关系

results matching ""

    No results matching ""