Typeorm ManyToMany加入3表

问题描述

我有这个查询

SELECT * FROM USERS
LEFT JOIN USER_GROUPS
ON USER_GROUPS.USER_ID = USERS.USER_ID
LEFT JOIN GROUPS_ROLES
ON GROUPS_ROLES.GROUP_ID = USER_GROUPS.GROUP_ID
LEFT JOIN ROLES
ON ROLES.ROLE_ID = GROUPS_ROLES.ROLE_ID;

我想在Entity中描述他与ManyToMany的关系 有可能吗?

解决方法

当然是这样,只需描述一下:

@Entity()
export class User {

    @PrimaryGeneratedColumn()
    id: number;

    @Column()
    name: string;

    @ManyToMany(type => Group)
    @JoinTable()
    groups: Group[];
}

@Entity()
export class Group {

    @PrimaryGeneratedColumn()
    id: number;

    @Column()
    name: string;

    @ManyToMany(type => Role)
    @JoinTable()
    roles: Role[];
}

@Entity()
export class Role {

    @PrimaryGeneratedColumn()
    id: number;

    @Column()
    name: string;

}

就是这样。应该可以。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...