【发布时间】:2021-03-25 14:50:46
【问题描述】:
我有以下实体:
@Entity()
class Group {
@PrimaryGeneratedColumn()
id: string
@PrimaryColumn()
groupName: string
@OneToMany(() => User, user => user.group)
user: User[]
}
@Entity()
class User {
@PrimaryGeneratedColumn()
id: string
@ManyToOne(() => Group)
group: Group
}
Typeorm 会出现如下错误:无法实现外键。我认为这里的问题是用户实体只需要引用 Group 的 id,但是 Group 有一个复合主键,因此出现了错误。删除 Group 中的复合主键会解决问题,但是有没有其他方法可以做到。我已经尝试了以下但没有运气:
@Entity()
class User {
@PrimaryGeneratedColumn()
id: string
@ManyToOne(() => Group)
@JoinColumn([
{name: 'groupId', referencedColumnName: 'id'},
{name: 'groupName', referencedColumnName: 'groupName'}
])
group: Group
}
【问题讨论】:
标签: javascript sql typescript typeorm