刘明野

TypeORM 中间表关联

@ JoinTable 用于“多对多”关系,并描述"junction"表的连接列。 联结表是由 TypeORM 自动创建的一个特殊的单独表,其中的列引用相关实体。 你可以使用@ JoinColumn更改联结表及其引用列中的列名: 你还可以更改生成的"junction"表的名称。

import {
  Entity,
  Column,
  ManyToMany,
  BaseEntity,
  JoinTable,
} from 'typeorm'
import { Role } from '../role/role.entity' // 导入关联表的模型

@Entity()
export class User extends BaseEntity {
  ...

  @ManyToMany(() => Role)
  @JoinTable({
    name: 'user_role', // 中间表名
    joinColumns: [{ name: 'user_id' }], // 中间表 主表 字段
    inverseJoinColumns: [{ name: 'role_id' }], // 中间表 副表 字段
  })
  role?: Role[]

}

参考官方文档:https://typeorm.io/#/relations/jointable-options

本文为作者刘明野发布,未经允许禁止转载!
9143
0
13
发表留言

友情链接