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[]
}